Not displaying PHP errors
我已经把这个问题归结为问题并使其变得干净,以便你能更方便地帮助我。
我有一个非常简单的代码:
1 2 3 | <?php echo"Hello world"; ?> |
这完全没问题。
如果我运行以下代码(解析错误)我没有收到任何错误,但仍显示文本"Hello world":
1 2 3 4 | <?php echo"Hello world"; piwejfoiwjefoijwef ?> |
如果我在代码之前放置解析错误但是不显示"Hello world":
1 2 3 4 | <?php piwejfoiwjefoijwef echo"Hello world"; ?> |
当我打印phpinfo(在同一个文件中,同一目录)时,我有以下设置:
display_errors开
display_startup_errors开
error_reporting 1
如果我还尝试在脚本中设置错误报告并使用以下代码运行它,我仍然没有收到任何错误或警告,但显示文本"Hello world":
1 2 3 4 5 | <?php error_reporting(E_ERROR | E_WARNING | E_PARSE); ini_set('display_errors', '1'); echo"Hello world"; owieufpowiejf ?> |
我的php.ini文件具有以下值(我已重新启动Apache):
1 2 3 |
我在Amazon AMI上使用64位AWS EC2运行Apache / PHP / MySQL。我不熟悉服务器配置。当我转换到亚马逊服务器时,错误开始了。除了错误报告,服务器和Apache / PHP运行完美。
请指导我如何解决问题。
谢谢!
这是一个通知。
1 |
揭示它。
我使用的代码:
1 2 3 4 5 6 7 |
输出:
Hello world
Notice: Use of undefined constant owieufpowiejf - assumed 'owieufpowiejf' in /code/14B4LY on line 5
那是因为它不是解析错误,它认为它是一个常量并试图将其解析为字符串。放置普通字符串是一个有效的语句。
你可以尝试
-1是
我有这个问题并通过编辑/etc/php.ini来修复它以显示display_errors = On
在主目录中创建.htaccess文件并放置:
1 2 3 |
当然,您应该在服务器中启用mod_rewrite。
在PHP脚本中尝试将error_reporting设置为E_ALL并查看是否收到通知..
1 |
查看文档:http://www.php.net/manual/en/errorfunc.configuration.php#ini.error-reporting
在包含语法错误的同一脚本中调用
1 2 3 4 | <?php echo"Hello world"; piwejfoiwjefoijwef ?> |
特别是此脚本不会出现任何语法错误,因为它不包含任何语法错误。它只是一个
如果没有关闭,你会收到通知。同样,您没有在其他测试中启用