php语法检查的方法总结


Posted in PHP onJanuary 21, 2019

我们可以使用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 相关文章推荐
PHP中3种生成XML文件方法的速度效率比较
Oct 06 PHP
php构造函数实例讲解
Nov 13 PHP
PHP FATAL ERROR: CALL TO UNDEFINED FUNCTION BCMUL()解决办法
May 04 PHP
PHP使用GIFEncoder类处理gif图片实例
Jul 01 PHP
php随机显示指定文件夹下图片的方法
Jul 13 PHP
两款万能的php分页类
Nov 12 PHP
php中使用GD库做验证码
Mar 31 PHP
PHP面试常用算法(推荐)
Jul 22 PHP
php mysql 封装类实例代码
Sep 18 PHP
php实现保存周期为1天的购物车类
Jul 07 PHP
PHP实现的简单对称加密与解密方法实例小结
Aug 28 PHP
使用laravel指定日志文件记录任意日志
Oct 17 PHP
PHP删除字符串中非字母数字字符方法总结
Jan 20 #PHP
PHP Laravel中的Trait使用方法
Jan 20 #PHP
PHP合并两个或多个数组的方法
Jan 20 #PHP
实例讲解通过​PHP创建数据库
Jan 20 #PHP
php中的explode()函数实例介绍
Jan 18 #PHP
thinkPHP框架中layer.js的封装与使用方法示例
Jan 18 #PHP
PHP内置函数生成随机数实例
Jan 18 #PHP
You might like
PHP中feof()函数实例测试
2014/08/23 PHP
PHP去掉json字符串中的反斜杠\及去掉双引号前的反斜杠
2015/09/30 PHP
一个简单安全的PHP验证码类、PHP验证码
2016/09/24 PHP
PHP异常处理定义与使用方法分析
2017/07/25 PHP
JavaScript Undefined,Null类型和NaN值区别
2008/10/22 Javascript
JavaScript 放大镜 放大倍率和视窗尺寸
2011/05/09 Javascript
Jquery搜索父元素操作方法
2015/02/10 Javascript
浅谈javascript属性onresize
2015/04/20 Javascript
微信小程序  wx.request合法域名配置详解
2016/11/23 Javascript
nodejs个人博客开发第二步 入口文件
2017/04/12 NodeJs
Ionic + Angular.js实现图片轮播的方法示例
2017/05/21 Javascript
JS实现页面打印(整体、局部)
2017/08/18 Javascript
jQuery EasyUI结合zTree树形结构制作web页面
2017/09/01 jQuery
react-native-video实现视频全屏播放的方法
2018/03/19 Javascript
详解Vue.js iview实现树形权限表(可扩展表)
2018/09/30 Javascript
JavaScript使用表单元素验证表单的示例代码
2019/08/20 Javascript
基于vue项目设置resolves.alias: '@'路径并适配webstorm
2020/12/02 Vue.js
pydev使用wxpython找不到路径的解决方法
2013/02/10 Python
python实现代码行数统计示例分享
2014/02/10 Python
Python字符串中查找子串小技巧
2015/04/10 Python
python 实现上传图片并预览的3种方法(推荐)
2017/07/14 Python
Python中pandas dataframe删除一行或一列:drop函数详解
2018/07/03 Python
Python创建数字列表的示例
2019/11/28 Python
浅谈PyQt5中异步刷新UI和Python多线程总结
2019/12/13 Python
如何Tkinter模块编写Python图形界面
2020/10/14 Python
英国虚拟主机服务商:eUKhost
2016/08/16 全球购物
美国领先的商务贺卡出版商:The Gallery Collection
2018/02/13 全球购物
漫威玩具服装及周边商品官方购物网站:Marvel Shop
2019/05/11 全球购物
Nixon手表英国官网:美国尼克松手表品牌
2020/02/10 全球购物
技术副厂长岗位职责
2013/12/26 职场文书
调研汇报材料范文
2014/08/17 职场文书
婚礼女方父母答谢词
2015/01/04 职场文书
会计人员岗位职责
2015/02/03 职场文书
Anaconda安装pytorch及配置PyCharm 2021环境
2021/06/04 Python
浅谈Node的内存泄露问题
2022/05/06 NodeJs
springboot+rabbitmq实现智能家居实例详解
2022/07/23 Java/Android