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

标签 php parsing syntax-checking

我使用自动加载功能动态加载 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/

相关文章:

c# - 除了早期的 .NET Framework 版本之外,Visual Studio 能否针对早期的 C# 语法?

javascript - 如何在 JavaScript/TypeScript 中检测具有相同索引的嵌套循环

php - 使用 Guzzle 6 将文件上传到 API 端点

php - 有什么办法可以最小化这个 mysql 查询吗?

java - 以编程方式将 csv 映射到 smooks 中的 java 无法处理空的 Double

python - 将 CSV 直接下载到 Python CSV 解析器中

php - 如何使网站直接连接到打印机?这样就可以直接打印订单了

PHP MYSQL 分页列出所有字段

javascript - 为什么我的 Google 应用程序脚本出现系统标识符错误

python - 编译(但不运行)Python 脚本