在本篇文章里小编给大家分享了关于php语法检查的方法的知识点内容,有需要的朋友们学习下。
我们可以使用lint检查
用lint静态检查。
静态是一种只检查语法描述方法而不执行程序的方法。
此时使用lint命令。
※php_check_syntax这个语法检查函数已经被废止,所以不能使用。
然后准备实际出现错误的php文件。
lint_test.php
<?php
echo "error"
它只是一个在屏幕上显示error的代码。
将lint_test.php移动到某个目录并发出以下命令。
php -l lint_test.php
执行结果
PHP Parse error: syntax error, unexpected end of file, expecting ',' or ';' in lint_test.php on line 2 Parse error: syntax error, unexpected end of file, expecting ',' or ';' in lint_test.php on line 2Errors parsing lint_test.php
syntax error=输出语法错误指示。
它还返回错误行数为line 2。
因为有unexpected end of file,是第2行没有“;”是原因。
那么,修改lint_test.php,再次执行lint命令。
<?php
echo "error";
执行结果为:
No syntax errors detected in lint_test.php
显示没有语法错误。
使用xdebug动态检查语法错误
首先,启用xdebug。
①从下面的官方站点下载xdebug,并记下下载的.dll文件所在的本地环境的路径。
https://xdebug.org/download.php
② 将以下内容添加到php.ini中。
zend_extension = ①中记录的路径
②重启Web服务器(Apache等)
这样就完成了设置。
使用xdebug检查错误
我们运行上述使用的lint_test.php。
lint_test.php
<?php
echo "error"
有一个错误,因为最后没有分号。
内容与执行lint时的内容相同,但附加了一些装饰以便于查看。
与lint的最大区别在于执行代码后出现的错误,因此可以说由于动态检查而出现错误。
本文标题为:php语法检查的方法总结
基础教程推荐
- laravel 解决多库下的DB::transaction()事务失效问题 2023-03-08
- PHP命名空间简单用法示例 2022-12-01
- laravel ORM关联关系中的 with和whereHas用法 2023-03-02
- php array分组,PHP中array数组的分组排序 2022-08-01
- thinkphp3.2.3框架动态切换多数据库的方法分析 2023-03-19
- PHP中的错误及其处理机制 2023-06-04
- 在Laravel中实现使用AJAX动态刷新部分页面 2023-03-02
- 使用PHP开发留言板功能 2023-03-13
- PHP实现Redis单据锁以及防止并发重复写入 2022-10-12
- PHP获取MySQL执行sql语句的查询时间方法 2022-11-09