作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我环顾四周,通常 PHP 错误报告效果很好,当然是在添加下面的 3 行时。
但并非总是如此,例如请注意下面的行:echo;。我认为这应该输出指向该行的错误?但相反,在两台不同的服务器上进行测试时,其中一台会导致内部服务器错误,而另一台则显示“此页面无法正常工作”。
error_reporting(E_ALL);
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
echo ;
这种情况发生在更多情况下,并使调试有点痛苦。
最佳答案
这是 PHP 解析错误。您将进入控制台或在 linting 文件时进入 (php -l file.php)。它显示:PHP Parse error: syntax error, unexpected ';' in /var/www/html/d.php on line 5
.由于这是解析错误,无论您在上面的文件中没有执行什么,您在这里有这些错误设置都没有关系 - 文件本身不是有效的 php 并且无法解析。当服务器运行它时,它会从 php 得到错误并做出相应的 react 。错误消息在服务器日志中可见。对于我的 apache,它默认记录到/var/log/apache2/error.log。
您可以在 php.ini 文件中进行设置。
更改此 display_errors = Off
至display_errors = On
,重新加载 apache,您还会看到以下错误:Parse error: syntax error, unexpected ';' in /var/www/html/d.php on line 2
即使文件中没有任何其他代码。这是我测试它的文件:
<?php
echo ;
关于php - 为什么 PHP 错误处理 PHP 并不总是有效?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62753458/
我是一名优秀的程序员,十分优秀!