我使用自动加载功能动态加载 PHP 类文件。 这些文件可能由于某种原因丢失或损坏。
自动加载将成功报告丢失的文件,以便应用程序逻辑可以处理该问题。但是,如果这些文件损坏,则整个处理会停止,用户会看到空白屏幕,并且错误日志中会显示“PHP 解析错误:语法错误”。
是否可以从 PHP 代码检查 PHP 文件的语法?
我看过这里:http://us.php.net/manual/en/function.php-check-syntax.php - 它已被弃用。
还有
exec("php -l $file");
似乎是一个错误的方式( http://bugs.php.net/bug.php?id=46339 )
想法?
最佳答案
您确实不应该尝试在执行时检查不正确的 PHP 文件:这会缩短应用程序的响应时间!
“更好的方法”是在修改完 PHP 脚本后从命令行使用 php -l ;或者如果您正在使用它,请将其包含在您的构建过程中;或者如果您使用 SVN 并且可以定义 SVN hooks 将其插入 SVN 预提交 Hook .
在我看来,几乎任何给定的解决方案都比在执行时亲自检查更好!
考虑到像您想要避免的错误可能不会经常发生,最好是……让它们发生。
唯一的事情是:激活日志并监视它们,以便能够在出现问题时快速检测到:-)
当然,这并不妨碍您处理丢失文件的情况;但这是另一回事......
关于php - 是否可以从 PHP 检查 PHP 文件语法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1208154/