在xampp上打开错误报告

时间:2012-10-04 22:36:20

标签: php error-handling xampp error-reporting

所以我有xampp并且该东西根本不报告任何内容......我甚至强迫错误而且它没有做任何事情......

我用过

error_reporting(-1);
ini_set( 'display_errors', 1 );

根据此文件http://php.net/manual/en/function.error-reporting.php

error_reporting(E_ALL);也没有做任何事......

3 个答案:

答案 0 :(得分:7)

  

嘿,看看那个,制作一个更疯狂的错误制作代码并且它有效......但为什么不显示所有错误?

可能你没有得到任何'简单'的错误,如:

Parse error: syntax error, unexpected T_VARIABLE in .../.../index.php on line 6
#or
Warning: include(whateveryouwantedto.include): failed to open str(...)

但你确实得到了这样的话:

Fatal error: Call to undefined method stdClass::Crap() in .../.../index.php on line 6

根据我的想法,这是因为如果您不禁用PHP配置中的日志记录,则“简单”错误将“无处”发送。换句话说:PHP通过不显示任何错误来“帮助”您,因为您定义了log_errors = On和/或error_log = 'php_errors.log'并且它记录了所有“真实”错误,但您只是不将其删除到'真实'类别。

如果这没有帮助,思维帽会说:“它不能记住,但我确定天堂/地狱知道它在PHP或Apache配置中的某个地方。”

当然希望我的思维帽帮助你。

编辑: 解决这个问题可能是找到并打开php.ini,选择全部,删除/退格,保存(但保持打开)(或在某处保存副本)。然后重启Apache。看看是否有任何区别。如果是这样,php配置就在其他地方。恢复php文件并从root用户搜索你的计算机或服务器以获取另一个php.ini。

我认为你应该确定:

log_errors = Off
error_log = "./"
display_errors = On
error_reporting = E_ALL

或者在PHP中:

error_reporting(E_ALL & E_STRICT);
ini_set('display_errors', '1');
ini_set('log_errors', '0');
ini_set('error_log', './');

答案 1 :(得分:5)

在你的文件夹xampp / php中创建名为logs的新文件夹。 转到控制面板appache日志单击php_error_log,它现在将询问您是否要创建该文件。

答案 2 :(得分:1)

error_reporting函数有时在本地服务器上关闭,例如,Xampp不支持它,所以你必须转到php.ini并在那里更改它。希望这有助于:)。