Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/234.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
不显示PHP错误_Php_Apache_Apache2_Error Reporting - Fatal编程技术网

不显示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
?>