请问有没有在线的PHP代码验证工具?这将非常有帮助。
提前致谢!
进一步扩展我的评论。
您可以使用命令行验证,使用php -l [文件名]
,它只会进行语法检查(lint)。这将取决于您的php.ini错误设置,因此您可以编辑php.ini或在脚本中设置error_reporting。
以下是在包含以下内容的文件上运行时的输出示例:
<?php
echo no quotes or semicolon
结果是:
PHP Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in badfile.php on line 2
Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in badfile.php on line 2
Errors parsing badfile.php
我建议你创建自己的验证器。
一个简单的页面,允许你上传php文件。它会对上传的文件进行php -l
检查,并输出结果。
注意:这不是安全风险,它不会执行文件,只是检查语法错误。
以下是创建自己验证器的基本示例:
<?php
if (isset($_FILES['file'])) {
echo '<pre>';
passthru('php -l '.$_FILES['file']['tmp_name']);
echo '</pre>';
}
?>
<form action="" method="post" enctype="multipart/form-data">
<input type="file" name="file"/>
<input type="submit"/>
</form>
$PATH
变量中没有php,您可以cd
到存在php.exe
的目录并调用php.exe -l C:\path\to\file.php
。 - Kellen Stuartphp -l
检查,并对一些不被视为无效的错误(例如使用双等号声明变量)进行二次分析。请访问http://phpcodechecker.com/。这里有一个和你的问题类似的问题(实际上是一样的)。
编辑
那里的最佳答案建议使用这个资源:
http://www.meandeviation.com/tutorials/learnphp/php-syntax-check/v4/syntax-check.php
php -l [文件名]
来解析 PHP 文件,而不是执行它。 - Jacob