【问题标题】:Find whether a partiular file is valid PHP file查找特定文件是否是有效的 PHP 文件
【发布时间】:2012-06-26 21:02:16
【问题描述】:

我想知道一个特定的文件是否是有效的 PHP 文件?

php -l filename 只查找我们是否有语法错误,它是 lint。

但我也想知道,在执行时,它会不会出错?

我在 Ubuntu 机器上运行。

编辑:

实际上我的问题是我允许用户为某些计算定义公式,我必须执行这些公式,但在用户提交公式之前,我想确保它们在 PHP 中是否正确

【问题讨论】:

  • 确定它是否会运行的唯一方法是使用广泛的输入来运行它。 Linter 和其他分析工具无法预测它可能遇到的输入范围。但请注意,根据您的标题,脚本可能会遇到错误,但仍然是“有效的 PHP 文件”。
  • 你需要编写单元测试。因为“没有错误”是未定义的。见:phpunit.de/manual/current/en
  • 感谢乔纳森和理查德。但是,如果我们知道我们的 PHP 将只包含静态的东西,例如消息等,没有输入,那么呢?
  • @Jatin,是的,先生,您仍然只需要运行它。当然,在与生产环境非常接近的受控(开发)环境中这样做。但你仍然只需要运行它。
  • 您需要定义“有效”。没有<?php?> 的PHP 文件将是有效的。不会吗?

标签: php syntax-checking


【解决方案1】:

真的很难知道 php 脚本是否会抛出错误。 除非公式定义明确并且您可以定义语法以检查它是否正确。 eg:只能加整数,

SUM -> N | N + N
N -> integer

但即使这样,你很快就会遇到问题,例如,如果你允许 N1 / N2,你必须确保永远不会为空。

我的建议,确保您的程序从错误中恢复。并且,如果出现错误,请通知输入公式的用户,并附上有关错误的详细信息

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-15
    • 2020-02-10
    • 2014-08-09
    • 2010-10-27
    相关资源
    最近更新 更多