是否可以从PHP检查PHP文件语法?

Ale*_*ets 12 php parsing syntax-checking

我使用自动加载动态加载PHP类文件.这些文件可能由于某种原因而丢失或损坏.

Autoload将成功报告丢失的文件,以便应用程序逻辑可以处理.但是如果这些文件已损坏,则整个处理将暂停,并为用户显示空白屏幕,并在错误日志中显示"PHP Parse error:syntax error".

是否可以从PHP代码检查PHP文件的语法?

我看过这里:http://us.php.net/manual/en/function.php-check-syntax.php - 它已被弃用.

exec("php -l $file");
Run Code Online (Sandbox Code Playgroud)

似乎是一种错误的方式(http://bugs.php.net/bug.php?id=46339)

思考?

Pas*_*TIN 4

您确实不应该尝试在执行时检查不正确的 PHP 文件:这会缩短应用程序的响应时间!

一个“更好的方法”是在修改完 PHP 脚本后从命令行使用 php -l ;或者如果您正在使用它,请将其包含在您的构建过程中;或者如果您使用 SVN 并且可以定义SVN hooks,则将其作为 SVN 预提交挂钩插入。

在我看来,几乎任何给定的解决方案都比在执行时亲自检查要好!


考虑到像您想要避免的错误可能不会经常发生,最好是……让它们发生。
唯一的事情是:激活日志并监视它们,以便能够在出现问题时快速检测到:-)


当然,这并不妨碍您处理丢失文件的情况;但那是另一回事......