php语法检查的方法总结
我们可以使用lint检查
用lint静态检查。
静态是一种只检查语法描述方法而不执行程序的方法。
此时使用lint命令。
※php_check_syntax这个语法检查函数已经被废止,所以不能使用。
然后准备实际出现错误的php文件。
lint_test.php
它只是一个在屏幕上显示error的代码。
将lint_test.php移动到某个目录并发出以下命令。
php-llint_test.php执行结果
PHPParseerror:syntaxerror,unexpectedendoffile,expecting','or';'inlint_test.phponline2Parseerror:syntaxerror,unexpectedendoffile,expecting','or';'inlint_test.phponline2Errorsparsinglint_test.phpsyntaxerror=输出语法错误指示。
它还返回错误行数为line2。
因为有unexpectedendoffile,是第2行没有“;”是原因。
那么,修改lint_test.php,再次执行lint命令。
执行结果为:
Nosyntaxerrorsdetectedinlint_test.php
显示没有语法错误。
使用xdebug动态检查语法错误
首先,启用xdebug。
①从下面的官方站点下载xdebug,并记下下载的.dll文件所在的本地环境的路径。
https://xdebug.org/download.php
②将以下内容添加到php.ini中。
zend_extension=①中记录的路径②重启Web服务器(Apache等)
这样就完成了设置。
使用xdebug检查错误
我们运行上述使用的lint_test.php。
lint_test.php
有一个错误,因为最后没有分号。
内容与执行lint时的内容相同,但附加了一些装饰以便于查看。
与lint的最大区别在于执行代码后出现的错误,因此可以说由于动态检查而出现错误。