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 相关文章推荐
使用 MySQL Date/Time 类型
Mar 26 PHP
PHP form 表单传参明细研究
Jul 17 PHP
setcookie中Cannot modify header information-headers already sent by错误的解决方法详解
May 08 PHP
PHP获取和操作配置文件php.ini的几个函数介绍
Jun 24 PHP
XAMPP安装与使用方法详细解析
Nov 27 PHP
php给图片添加文字水印方法汇总
Aug 27 PHP
PHP之图片上传类实例代码(加了缩略图)
Jun 30 PHP
php基于websocket搭建简易聊天室实践
Oct 24 PHP
PHP实现图的邻接矩阵表示及几种简单遍历算法分析
Nov 24 PHP
php处理抢购类功能的高并发请求
Feb 08 PHP
Laravel使用scout集成elasticsearch做全文搜索的实现方法
Nov 30 PHP
使用Git实现Laravel项目的自动化部署
Nov 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
实战mysql导出中文乱码及phpmyadmin导入中文乱码的解决方法
2010/06/11 PHP
php4与php5的区别小结(配置异同)
2011/12/20 PHP
PHP中的随机性 你觉得自己幸运吗?
2016/01/22 PHP
JS 面向对象的5钟写法
2009/07/31 Javascript
jQuery的12招常用技巧分享
2011/08/08 Javascript
基于jquery的用鼠标画出可移动的div
2012/09/06 Javascript
js用正则表达式来验证表单(比较齐全的资源)
2013/11/17 Javascript
jquery中map函数与each函数的区别实例介绍
2014/06/23 Javascript
PHPMyAdmin导入时提示文件大小超出PHP限制的解决方法
2015/03/30 Javascript
jquery实现简单的二级导航下拉菜单效果
2015/09/07 Javascript
利用原生JS自动生成文章标题树的实例
2016/08/22 Javascript
JavaScript中无法通过div.style.left获取值的解决方法
2017/02/19 Javascript
从零学习node.js之详解异步控制工具async(八)
2017/02/27 Javascript
深入浅析Vue不同场景下组件间的数据交流
2017/08/15 Javascript
Canvas放置反弹效果随机图形(实例)
2017/08/17 Javascript
javascript实现获取一个日期段内每天不同的价格(计算入住总价格)
2018/02/05 Javascript
[00:36]DOTA2上海特级锦标赛 Alliance战队宣传片
2016/03/04 DOTA
[03:13]DOTA2-DPC中国联赛1月25日Recap集锦
2021/03/11 DOTA
在Python的Django框架中编写编译函数
2015/07/20 Python
Python开发微信公众平台的方法详解【基于weixin-knife】
2017/07/08 Python
浅析使用Python操作文件
2017/07/31 Python
Python xlwt设置excel单元格字体及格式
2020/04/18 Python
Python安装lz4-0.10.1遇到的坑
2018/05/20 Python
python 实现将Numpy数组保存为图像
2020/01/09 Python
python中JWT用户认证的实现
2020/05/18 Python
Canvas引入跨域的图片导致toDataURL()报错的问题的解决
2018/09/19 HTML / CSS
canvas实现扭蛋机动画效果的示例代码
2018/10/17 HTML / CSS
Ibatis如何使用动态表名
2015/07/12 面试题
营销与策划个人求职信
2013/09/22 职场文书
企业介绍信范文
2015/01/30 职场文书
大连星海广场导游词
2015/02/10 职场文书
团委工作总结2015
2015/04/02 职场文书
2016年春季运动会加油稿
2015/07/22 职场文书
英语教学课后反思
2016/02/15 职场文书
《围炉夜话》110句人生箴言,精辟有内涵,引人深思
2019/10/23 职场文书
MySQL数据库 任意ip连接方法
2022/05/20 MySQL