2010-08-30 70 views
9

我看不到任何PHP错误。我尝试了所有可以发现错误报告的技巧,但没有任何效果。无法让PHP报告错误

display_errors处于打开状态,error_logging处于打开状态,但是当我查看出现错误的页面时,我会看到空白页。

/var/log/php.log不存在。

如果我设置本地日志文件,则不会创建任何内容。

我一直在测试的文件是

<?php 
ini_set('display_errors',1); 
error_reporting(E_ALL|E_STRICT); 
ini_set('error_log','script_errors.log'); 
ini_set('log_errors','On'); 


$a= 

phpinfo(); 
?> 

任何其他的想法?

回答

3

您可能需要将其设置为.htaccess,httpd.conf或php.ini(取决于您的服务器或托管公司)。你很可能有一个解析错误,这意味着你的脚本永远不会打开错误报告。

+2

我试过你的代码,它在命令行上工作,我不知道你是否有一个拒绝显示phpinfo()的输出的设置(出于安全原因),你看到一个有效但仍然空白的页面。如果可以的话,看看'disable_functions'设置了什么。 – Hans 2010-08-30 23:37:10

+0

有没有办法强制php报告解析错误? – Nathan 2010-08-30 23:38:38

+2

@Nathan你选择这个答案B/C它有帮助或者是由于不同的原因?我有同样的问题,因为我不觉得它太有帮助。汉斯,也许如果你提到如何检查是否有解析错误。 – puk 2012-03-14 09:28:10

1

你试过编辑实际的ini文件,而不是试图在运行时改变它?您也可以尝试使用ini_get('display_errors');来查看您的更改是否生效。如果这两项工作都不成功,我会说你的安装或者是错误的或者是非常有限的。

+0

我试图将它设置有显示错误,并报告其上,但没有效果。 – Nathan 2010-08-30 23:36:27

0
  1. 作为脚本的第一件事运行phpinfo(),你尝试任何ini_set选项之前。如果您的主机具有禁用/限制的ini功能,那么您很可能无法访问phpinfo。
  2. 运行此脚本的目录中的用户标识是否具有写入权限?可能无法打开测试日志文件并以此方式杀死脚本。

一旦你得到了一些phpinfo()输出,你将能够看到是否/在哪里PHP记录错误。它可能会进入服务器的一般error_log或其他位置。

0

我通过我的软管网站解决了这个问题 cpanel-> PHP配置 - >上