我在Snow Leopard上运行最新版本的MAMP。
我的php.ini文件已配置为显示错误。 display_errors = on。 phpinfo();页面显示错误报告的状态,它已打开。我已多次重启我的网络服务器。
我在谷歌搜索过,我找不到任何类似的问题。每个人都说完全按照我所做的去做,但它没有用。如果我故意发生错误,页面将保持空白(没有报告)。
关于问题可能是什么想法?
答案 0 :(得分:28)
对于遇到此问题的任何未来海报......
我遇到了同样的问题,发现我正在修改错误的php.ini文件。运行phpinfo并找到活动的php.ini文件的路径,以确保您正在编辑正确的文件。
在我安装的mamp上,有多个带有php.ini文件的/ conf目录实例。我需要的php.ini文件位于/ bin / php / php [version#] / conf目录中,而不是MAMP / conf目录。
我需要编辑的php.ini文件的确切路径:
应用程序/ MAMP / bin中/ PHP / php5.4.10 / CONF / php.ini中
将display_errors = Off
更改为display_errors = On
答案 1 :(得分:5)
除了display_errors
指令(必须设置为On
)之外,您可能还需要配置error_reporting
。
例如,您可以在php.ini
文件中使用它:
error_reporting = E_ALL
另一个应该对测试有用的可能是将PHP代码的这一部分放在脚本的开头:
error_reporting(E_ALL);
ini_set('display_errors', 'On');
当您无法访问php.ini和/或只是想快速测试时,这非常有用,而无需重新启动Web服务器。
作为旁注,当涉及到显示错误时,Xdebug扩展名非常棒:当它被安装/启用/配置时,而不仅仅是出现错误消息,您将获得完整的stack-trace,这更有用; - )
答案 2 :(得分:1)
我最近遇到了同样的问题 - 在我的情况下,我从他们的实时服务器下载了一个客户端的Wordpress网站,结果被恶意脚本插入篡改了,为了逃避检测而覆盖了错误报告。
帮助OP(!)有点晚,但可能对未来的搜索者有用。
答案 3 :(得分:0)
目录中可能有一个.htaccess文件覆盖了php.ini中设置的display_errors设置。从你的帖子我假设你没有明确添加这个,但一些框架默认执行此操作,因此可能会添加这种方式。在.htaccess文件中查找这样的行:
php_value display_errors 0
并将值更改为1。
答案 4 :(得分:0)
如果你有几个版本的php sdks,首先要确保你正在编辑正确的php.ini文件。如果你是对的,请在代码的开头添加这两行。
error_reporting(E_ALL);
ini_set('display_errors', 'On'); // or ini_set('display_errors', 1);
答案 5 :(得分:0)
这是对同一答案的一种扭曲。我有同样的问题,只是从php信息页面复制并粘贴了ini路径,但仍存在同样的问题...
当我在php.ini中编辑'error_reporting'块时,我犯了一个语法错误。
我有E_NOTICE而不是~E_NOTICE。
:(
如果您编辑它并完全忘记编辑了某些内容,那么php.ini中可能会发生错误。