使用i' .ini'在PHP中报告错误档

时间:2014-05-12 12:56:34

标签: php ini

所以基本上我试图设置一个错误报告系统,将任何PHP,HTML或任何其他错误记录到位于特定目录中的名为“errors.txt”的文本文件中。但是,该文件尚未创建。

以下是代码:

ini_set('error_reporting', E_ALL);
error_reporting(E_ALL);
ini_set('log_errors',TRUE);
ini_set('error_log','/xampp/xampp-portable-win32-1.8.3-2-VC11/xampp/htdocs/EstateAgent/logs/errors.txt');
ini_set('display_errors',FALSE);

错误仍然显示给用户,并且未在指定目录内创建错误日志。

我也尝试按照其他网站上的建议更改我的'php.ini'文件中的标准值,但我仍然没有运气。

非常感谢任何帮助!

谢谢:)

2 个答案:

答案 0 :(得分:0)

对于遇到类似问题的任何人 - 请确保您在项目中使用的其他文件中没有任何其他error_reporting和ini_set。在这些情况下,似乎错误报告不能正常工作,但实际上就是这样。

尝试改变:

ini_set('log_errors',TRUE);

ini_set('log_errors','1');

ini_set('display_errors',FALSE);

ini_set('display_errors','0');

如果它没有帮助,请在文件的最顶部添加:

<?php
    error_reporting(0);
    ini_set('display_errors','0');
    echo $testVariable;
    echo "Just testing"; 
?>

并检查是否在&#34之前显示有关此变量的任何警告;只是测试&#34;。

现在将上面的代码更改为:

<?php
    error_reporting(E_ALL);
    ini_set('display_errors','1');
    echo $testVariable;
    echo "Just testing"; 
?>

并检查是否在&#34之前显示有关此变量ID的任何警告;只是测试&#34;。

如上所述,2个示例代码的工作方式已经过时,这些设置可能会在用户使用的用户或php库的其他php文件中发生变化。您应该扫描您的代码,库代码会跟踪更改的位置并尝试解决此问题,删除代码更改所需的报告或正确评论/设置(如果在构造函数或方法中存在这种可能性)在外部库中进行报告

答案 1 :(得分:0)

您需要为'error_log'属性提供完整路径:

<?php
ini_set('error_log', 'c:/xampp/logs/php_error.log');
?>

您需要确保以下文件夹存在且“可写”:c:/ xampp / logs /

如果您使用的是Linux,那么完整路径将如下所示:/xampp/logs/php_error.log

另外,请使用以下内容:

<?php
ini_set('display_errors', '1');
error_reporting(E_ALL);
ini_set('log_errors', '1');
?>