不显示PHP错误
我已经把这个问题简化了,并把它说清楚,希望你能更容易地帮助我 我有一个非常简单的代码:不显示PHP错误,php,apache,apache2,error-reporting,Php,Apache,Apache2,Error Reporting,我已经把这个问题简化了,并把它说清楚,希望你能更容易地帮助我 我有一个非常简单的代码: <?php echo "Hello world"; ?> 我在AmazonAMI上运行Apache/PHP/MySQL,在64位AWSEC2上运行。我对服务器配置不是很熟悉。这些错误是从我转换到Amazon服务器时开始的。除了错误报告之外,服务器和Apache/PHP的运行也完美无缺 请指导我如何解决这个问题 谢谢 那是一个通知 error_reporting(E_ALL); 揭示了这一点 我
<?php
echo "Hello world";
?>
我在AmazonAMI上运行Apache/PHP/MySQL,在64位AWSEC2上运行。我对服务器配置不是很熟悉。这些错误是从我转换到Amazon服务器时开始的。除了错误报告之外,服务器和Apache/PHP的运行也完美无缺
请指导我如何解决这个问题
谢谢 那是一个通知
error_reporting(E_ALL);
揭示了这一点
我使用的代码:
输出:
你好,世界
注意:在第5行的/code/14B4LY中使用未定义的常量owieufpowiejf-假定为“owieufpowiejf”
这是因为它不是一个解析错误,它认为它是一个常量,并试图将它解析为一个字符串。放置一个普通字符串是一个有效的语句。在PHP脚本中,尝试将error\u reporting设置为E\u ALL,看看是否收到通知
error_reporting(E_ALL)
查看文档:您可以尝试
错误报告(-1)
-1是报告错误时可以使用的最大值,并且将始终使用该值。在主目录中创建.htaccess文件并放置:
php_flag display_errors on
# 7 stands for E_ERROR | E_WARNING | E_PARSE
php_value error_reporting 7
错误报告
常数的准确值可在官方文件中找到
当然,您应该在服务器中启用mod_rewrite。在包含语法错误的同一脚本中调用
error_reporting()
,这是行不通的
<?php
echo "Hello world";
piwejfoiwjefoijwef
?>
尤其是这个脚本,它不会得到任何语法错误,因为它不包含任何语法错误。它只是一个echo
语句,第二行是一个空常量。后面的分号可以在?>
如果没有关掉的话,你会收到通知的。同样,您在另一个测试中没有启用
E\u NOTICE
。我遇到了这个问题,并通过编辑/etc/php.ini以显示\u errors=On来修复它。您尝试使用E\u ALL了吗?另外,如果您在PHP配置文件中更改它,您可能需要重新启动Apache。您的PHP可能正在登录到一个文件,而不是正在呈现的页面。检查它是记录到apache错误日志还是自己的自定义日志(检查php.ini配置中的error\u log=x
)。它可能在/var/log/apache2/error.log
或/var/log/php/error.log
哦,天哪。就这样。他们把它改成了“通知”。可能在PHP的一些更新中。谢谢谢谢,ini_集('display_errors','1')代码>工作!这对我不起作用。必须编辑php.ini。@TomKincaid:这取决于,一些共享主机禁用了ini\u集
。最后添加?>
解决了我的问题,错误出现了。。谢谢
error_reporting(E_ALL);
<?php
error_reporting(E_ALL); ini_set('display_errors', '1');
echo "Hello world";
owieufpowiejf
?>
error_reporting(E_ALL)
php_flag display_errors on
# 7 stands for E_ERROR | E_WARNING | E_PARSE
php_value error_reporting 7
<?php
echo "Hello world";
piwejfoiwjefoijwef
?>