有PHP验证器吗?

7
有没有类似w3.org提供的HTML验证器那样的PHP验证器?

6
验证什么?PHP的语法吗?如果语法无效,您将收到一个解析错误。 - Gumbo
我认为他正在寻找类似于“PHP的lint”这样的东西。这个问题以前在这里被问过:请参见https://dev59.com/MHRC5IYBdhLWcg3wMeHf,特别是PHPlint(http://www.icosaedro.it/phplint/)看起来很有前途。 - bart
5个回答

17
使用命令行中的php选项"-l",您可以在不运行PHP脚本本身的情况下验证语法。
$ php --help 
Usage: php [options] [-f] <file> [--] [args...]
       php [options] -r <code> [--] [args...]  
       php [options] [-B <begin_code>] -R <code> [-E <end_code>] [--] [args...]
       php [options] [-B <begin_code>] -F <file> [-E <end_code>] [--] [args...]
       php [options] -- [args...]
       php [options] -a
  ...
  -l               Syntax check only (lint)
  ...

例如,有一个包含以下内容的文件:
<?php

,


die;

?>

(请注意明显的错误)

你将得到:

$ php -l temp.php
PHP Parse error:  syntax error, unexpected ',' in temp.php on line 3

Parse error: syntax error, unexpected ',' in temp.php on line 3
Errors parsing temp.php

将此集成到构建过程中,或作为预提交SVN钩子,很好,因为它有助于避免在生产环境中出现语法错误^^。

9

您可以使用-l--syntax-check标志来运行php。它会检查提供的文件的语法,而不实际运行它。

php --syntax-check myfile.php

2

PHP engine itself.

To turn on error messages:

error_reporting(E_ALL);

2

0
你可以试试这个:

https://phpcodechecker.com/

它似乎做得还不错。对于字符串中的花括号会感到困惑,但还是很方便的。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接