所以基本上我试图设置一个错误报告系统,将任何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'文件中的标准值,但我仍然没有运气。
非常感谢任何帮助!
谢谢:)
答案 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');
?>