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 相关文章推荐
利用discuz自带通行证整合dedecms的方法以及文件下载
Mar 06 PHP
PHP Squid中可缓存的动态网页设计
Sep 17 PHP
PHP之数组学习
May 29 PHP
php实现按文件名搜索文件的远程文件查找器
May 10 PHP
Linux操作系统安装LAMP环境
Jun 26 PHP
windows下apache搭建php开发环境
Aug 27 PHP
浅谈PHP Cookie处理函数
Jun 10 PHP
laravel中命名路由的使用方法
Feb 24 PHP
PHP截取发动短信内容的方法
Jul 04 PHP
yii2.0整合阿里云oss删除单个文件的方法
Sep 19 PHP
PHP实现Redis单据锁以及防止并发重复写入
Apr 10 PHP
如何利用PHP实现上传图片功能详解
Sep 24 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
Content-type 的说明
2006/10/09 PHP
PHP5 安装方法
2007/01/15 PHP
php file_get_contents函数轻松采集html数据
2010/04/22 PHP
ThinkPHP的截取字符串函数无法显示省略号的解决方法
2014/06/25 PHP
PHP+FFMPEG实现将视频自动转码成H264标准Mp4文件
2014/09/24 PHP
php数据序列化测试实例详解
2017/08/12 PHP
对YUI扩展的Gird组件 Part-2
2007/03/10 Javascript
jquery下onpropertychange事件的绑定方法
2010/08/01 Javascript
原创javascript小游戏实现代码
2010/08/19 Javascript
Jquery Ajax解析XML数据(同步及异步调用)简单实例
2014/02/12 Javascript
javascript闭包入门示例
2014/04/30 Javascript
js判断某个字符出现的次数的简单实例
2016/06/03 Javascript
JavaScript优化以及前段开发小技巧
2017/02/02 Javascript
详解使用grunt完成requirejs的合并压缩和js文件的版本控制
2017/03/02 Javascript
微信小程序实战之仿android fragment可滑动底部导航栏(4)
2020/04/16 Javascript
微信小程序 检查接口状态实例详解
2017/06/23 Javascript
Vue的百度地图插件尝试使用
2017/09/06 Javascript
Electron vue的使用教程图文详解
2019/07/05 Javascript
JS数组的常用10种方法详解
2020/05/08 Javascript
解决Vue中的生命周期beforeDestory不触发的问题
2020/07/21 Javascript
[04:49]期待西雅图之战 2016国际邀请赛中国区预选赛WINGS战队赛后采访
2016/06/29 DOTA
Python Web框架Flask信号机制(signals)介绍
2015/01/01 Python
Python中将字典转换为列表的方法
2016/09/21 Python
python解决汉字编码问题:Unicode Decode Error
2017/01/19 Python
Python找出最小的K个数实例代码
2018/01/04 Python
浅谈Python中eval的强大与危害
2019/03/13 Python
Numpy之将矩阵拉成向量的实例
2019/11/30 Python
解决python使用list()时总是报错的问题
2020/05/05 Python
全球摩托车装备领导者:RevZilla
2017/09/04 全球购物
英国发展最快的在线超市之一:Click Marketplace
2021/02/15 全球购物
介绍一下linux的文件系统
2012/03/20 面试题
校园达人秀策划书
2014/01/12 职场文书
初中英语教师个人工作总结
2015/02/09 职场文书
合同纠纷调解书
2015/05/20 职场文书
Python开发之QT解决无边框界面拖动卡屏问题(附带源码)
2021/05/27 Python
Python按顺序遍历并读取文件夹中文件
2022/04/29 Python