PHP 5.3 - 排除500错误 - 调试 - 解析错误

Bud*_*Joe 6 php oop debugging phpstorm

偶尔我会有一些格式错误的PHP代码,我会得到500错误.我在Windows 7笔记本电脑上运行Apache 2.2.作为IDE,我开始使用PhpStorm.

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

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

更新:请参阅接受的答案和所有评论.

Dav*_*dom 13

当它遇到一个致命错误,如PHP将与"500"响应E_PARSE,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()