configuration - 为什么 PHP 5.2.14 不显示任何错误(即使是从命令行)?

标签 configuration error-handling php error-reporting

我在 Windows 2008 R2 服务器和 Windows 7 64 位上安装了 PHP 5.2.10 和 PHP 5.2.14(x86 非线程安全 Win32 版本)。

出于某种原因,PHP 5.2.14 拒绝显示错误消息。

即使我在 php.ini 中设置了以下设置,如果我使用 5.2.14,我也不会收到任何错误报告:

error_reporting = E_ALL
display_errors = On

即使在使用 php.exe 从命令行运行测试脚本时也会发生这种情况,但故意出现语法错误:

c:\php>php test.php

PHP 使用了正确的 php.ini 文件,因为当我运行 php.exe -i 时我可以看到我的设置发生了变化。

我还注意到 PHP 5.2.14 中的 php.exe 启动速度非常慢。

当我在同一台机器上使用 PHP 5.2.10 执行同一组测试时,我收到的错误消息报告很好。

这两个 php.ini 文件都是常用的(基于 php.ini-recommended),但带有 error_reportingdisplay_errors 设置已修改。

最佳答案

我发现这真的很烦人,所以这里有一个从命令行检查语法的策略:

  1. 不要加载 ini 文件。
  2. 显式打开 display_errors 和 display_startup_errors。

php -n -l -d display_errors -d display_startup_errors path/to/your/phpfile.php

$ php -h 
-n               No php.ini file will be used
-l               lint, syntax checking only
-d foo[=bar]     Define INI entry foo with value 'bar'

关于configuration - 为什么 PHP 5.2.14 不显示任何错误(即使是从命令行)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3820009/

相关文章:

hadoop - hadoop公平调度程序和容量调度程序均未按预期进行调度

php - 比较字符串的意外结果

java - Java上创建的HttpSession可以使用PHP的$_SESSION来访问吗

php - 嵌套对象用php写入mysql

java - J2EE 集群 : Is there a generic way to handle central configuration?

windows - 如何以编程方式启用 "Allow this device to wake the computer"?

vim - 我可以在 VIM 中使用 SPACE 作为 map 领导者吗?

javascript - 在Jasmine单元测试中,如何强制失败回调触发失败请求的结果?

javascript - 如何加载 .js 文件 'locally' ?

c - 为什么甚至在没有代码之前都会出现错误?