Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
调试PHP输出_Php_Debugging - Fatal编程技术网

调试PHP输出

调试PHP输出,php,debugging,Php,Debugging,我有一个php网站,在某些页面上,在第一个html标记之前添加了一个点或空格。我不知道它是从哪里来的-有没有办法调试代码以便我可以看到它是从哪里来的? 谢谢 Josh也许它是一个?也许它是一个?为了防止这种情况发生,最好不要在PHP文件的结尾使用?> 您可能有这样的文件(请注意?>后面的额外空间): 如果要删除文件末尾的?>,则文件末尾的额外空间不会被解释为要输出的内容 对于仅包含PHP代码的文件, 结束标记(“?>”)永远不可用 被允许PHP不需要它, 省略它可以防止 意外注入尾随白细胞

我有一个php网站,在某些页面上,在第一个html标记之前添加了一个点或空格。我不知道它是从哪里来的-有没有办法调试代码以便我可以看到它是从哪里来的? 谢谢
Josh

也许它是一个?

也许它是一个?

为了防止这种情况发生,最好不要在PHP文件的结尾使用
?>

您可能有这样的文件(请注意
?>
后面的额外空间):


如果要删除文件末尾的
?>
,则文件末尾的额外空间不会被解释为要输出的内容

对于仅包含PHP代码的文件, 结束标记(“?>”)永远不可用 被允许PHP不需要它, 省略它可以防止 意外注入尾随白细胞 将空格插入到响应中


来源:

为了防止这种情况发生,最好不要以
?>
结束PHP文件

您可能有这样的文件(请注意
?>
后面的额外空间):


如果要删除文件末尾的
?>
,则文件末尾的额外空间不会被解释为要输出的内容

对于仅包含PHP代码的文件, 结束标记(“?>”)永远不可用 被允许PHP不需要它, 省略它可以防止 意外注入尾随白细胞 将空格插入到响应中


来源:

真的没有很好的方法来调试这个。您需要浏览页面所访问的每个文件,并找出输出的来源。如果你真的想偷懒,你可以做一些输出缓冲,但这不是正确的方法。

调试这一点真的没有好方法。您需要浏览页面所访问的每个文件,并找出输出的来源。如果你真的想偷懒,你可以做一些输出缓冲,但这不是正确的方法。

如果你正在使用模板,也许你应该检查一下它们。。。问题可能在那里,而不是在主代码中


是的,在PHP中不关闭结束标记是一个很好的做法。

如果您正在使用模板,也许您应该检查它们。。。问题可能在那里,而不是在主代码中


是的,在PHP中,不关闭结束标记是一个很好的做法。

像这样的问题可能很难找到。如果您所处的框架或系统中包含大量文件,您可能会在错误发生之前尝试一次
var\u转储(get\u included\u files())
,这将为您提供一个开始的位置。如果这还不够,xdebug可能会让您走得更远。需要注意的是PHP标记前后的空间,以及可能发送输出的函数。

像这样的问题可能很难找到。如果您所处的框架或系统中包含大量文件,您可能会在错误发生之前尝试一次
var\u转储(get\u included\u files())
,这将为您提供一个开始的位置。如果这还不够,xdebug可能会让您走得更远。需要注意的是PHP标记前后的空间,以及可能发送输出的函数。

您能提供一些有问题页面的代码吗?或者您能提供一个指向URLFirebug web developer扩展的链接吗?您能提供一些有问题页面的代码吗?或者您能提供一个指向URLFirebug web developer扩展的链接吗?可能会有帮助—1个糟糕、可怕的建议。在任何情况下,您都不能不包括结尾
?>
。“从来没有!”迈克尔-为什么?这并不能解释为什么你投了反对票@迈克尔,你为什么这么说?我不知道我是否一定同意这一点。事实上,我认为Zend编码标准要求在只包含php代码的文件上省略它。@Michael,事实上,你完全错了。根据PHP自己的开发人员的说法,文件中只包含PHP代码。CodeIgniter和Drupal都同意,许多其他开发人员也同意。@Michael Irigoyen:省略结尾的
?>
通常被认为是良好的做法,许多编码标准都鼓励这样做。包括它会让你更容易出错。忽略它不是懒惰,而是聪明。另请参见-1可怕的建议。在任何情况下,您都不能不包括结尾
?>
。“从来没有!”迈克尔-为什么?这并不能解释为什么你投了反对票@迈克尔,你为什么这么说?我不知道我是否一定同意这一点。事实上,我认为Zend编码标准要求在只包含php代码的文件上省略它。@Michael,事实上,你完全错了。根据PHP自己的开发人员的说法,文件中只包含PHP代码。CodeIgniter和Drupal都同意,许多其他开发人员也同意。@Michael Irigoyen:省略结尾的
?>
通常被认为是良好的做法,许多编码标准都鼓励这样做。包括它会让你更容易出错。忽略它不是懒惰,而是聪明。瞧,嘿,别相信我。。。。嘿,别相信我。。。。
<?php
    // Some code //
?>