6

有时我会有一些格式错误的 PHP 代码,我会收到 500 错误。我在 Windows 7 笔记本电脑上运行 Apache 2.2。作为一个 IDE,我已经开始使用 PhpStorm。

捕获这些错误并获知行号的最佳方法是什么?为什么与 OOP 相关的语法错误往往会抛出 500 错误,而函数问题往往会返回正常错误?

语法错误示例:从使用单个冒号而不是两个冒号的类调用静态方法。

更新:请查看接受的答案和所有评论。

4

1 回答 1

13

E_PARSE当遇到致命错误时,PHP 会以“500”响应,例如E_ERROR和未捕获的异常。500 是“内部服务器错误”的 HTTP 响应代码 - 处理请求时发生了不可恢复的事情。

在您的 php.ini 中,在开发机器上,您应该将您的error_reporting级别设置为(至少)E_NOTICE- 最好E_ALL- 并确保display_errors打开。这将在浏览器中显示错误消息,包括“500”错误。

您还可以检查您的 Apache 错误日志,只要log_errors在 php.ini 中启用,错误就会列在那里。默认情况下,这将在<apache_ServerRoot>\logs\error.log.

您还可以在运行时使用ini_set()error_reporting()

于 2011-12-19T16:30:49.727 回答