【发布时间】:2011-12-01 19:15:24
【问题描述】:
我已将问题归结为干净,希望您能更轻松地帮助我。
我有一个非常简单的代码:
<?php
echo "Hello world";
?>
这运行得很好。
如果我运行以下代码(解析错误),我不会收到任何错误,但仍会显示文本“Hello world”:
<?php
echo "Hello world";
piwejfoiwjefoijwef
?>
如果我将解析错误放在代码之前,它不会显示“Hello world”:
<?php
piwejfoiwjefoijwef
echo "Hello world";
?>
当我打印 phpinfo(在同一个文件,同一个目录中)时,我有以下设置: display_errors 开启 display_startup_errors 开启 error_reporting 1
如果我尝试在脚本中设置错误报告并使用以下代码运行它,我仍然没有收到任何错误或警告,但会显示文本“Hello world”:
<?php
error_reporting(E_ERROR | E_WARNING | E_PARSE); ini_set('display_errors', '1');
echo "Hello world";
owieufpowiejf
?>
我的 php.ini 文件具有以下值(并且我已重新启动 Apache):
error_reporting = E_ERROR & ~E_DEPRECATED
display_errors = On
display_startup_errors = On
我正在使用 64 位 AWS EC2 的 Amazon AMI 上运行 Apache / PHP / MySQL。我对服务器配置不太了解。当我转换到亚马逊服务器时,错误就开始了。除了错误报告服务器和 Apache/PHP 运行完美。
请指导我如何解决问题。
谢谢!
【问题讨论】:
-
您尝试过使用 E_ALL 了吗?此外,如果您在 PHP 配置文件中更改它,您可能需要重新启动 Apache。
-
您的 php 可能正在记录到文件,而不是正在呈现的页面。检查它是否记录到您的 apache 错误日志或它自己的自定义日志(检查您的 php.ini 配置中的
error_log=x)。它可能在/var/log/apache2/error.log或/var/log/php/error.log
标签: php apache apache2 error-reporting