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 相关文章推荐
15种PHP Encoder的比较
Mar 06 PHP
PHP字符串 ==比较运算符的副作用
Oct 21 PHP
PHPEXCEL 使用小记
Jan 06 PHP
深入PHP购物车模块功能分析(函数讲解,附源码)
Jun 25 PHP
php+highchats生成动态统计图
May 21 PHP
PHP反射使用实例和PHP反射API的中文说明
Jul 02 PHP
php常用表单验证类用法实例
Jun 18 PHP
PHP导出Excel实例讲解
Jan 24 PHP
PHP上传Excel文件导入数据到MySQL数据库示例
Oct 25 PHP
PHP命名空间namespace及use的简单用法分析
Aug 03 PHP
PHP抽象类基本用法示例
Dec 28 PHP
PHP设计模式之工厂模式(Factory Pattern)的讲解
Mar 21 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下用rmdir实现删除目录的三种方法小结
2008/04/20 PHP
PHP 杂谈《重构-改善既有代码的设计》之四 简化条件表达式
2012/04/09 PHP
使用php检测用户当前使用的浏览器是否为IE浏览器
2013/12/03 PHP
帝国cms常用标签汇总
2015/07/06 PHP
php将html转成wml的WAP标记语言实例
2015/07/08 PHP
Jquery插件 easyUI属性汇总
2011/01/19 Javascript
8个超棒的学习 jQuery 的网站 推荐收藏
2011/04/02 Javascript
浅谈javascript中的作用域
2012/04/07 Javascript
关于javaScript注册click事件传递参数的不成功问题
2014/07/18 Javascript
js中直接声明一个对象的方法
2014/08/10 Javascript
《JavaScript DOM 编程艺术》读书笔记之JavaScript 图片库
2015/01/09 Javascript
JavaScript实现斗地主游戏的思路
2016/02/29 Javascript
基于AngularJs + Bootstrap + AngularStrap相结合实现省市区联动代码
2016/05/30 Javascript
Java框架SSH结合Easyui控件实现省市县三级联动示例解析
2016/06/12 Javascript
jQuery实现加入收藏夹功能(主流浏览器兼职)
2016/12/24 Javascript
js仿京东轮播效果 选项卡套选项卡使用
2017/01/12 Javascript
jQuery插件HighCharts实现的2D条状图效果示例【附demo源码下载】
2017/03/15 Javascript
详解AngularJS用Interceptors来统一处理HTTP请求和响应
2017/06/08 Javascript
vue+element+Java实现批量删除功能
2019/04/08 Javascript
Python爬虫之模拟知乎登录的方法教程
2017/05/25 Python
python实现下载pop3邮件保存到本地
2018/06/19 Python
python实现广度优先搜索过程解析
2019/10/19 Python
python3 字符串知识点学习笔记
2020/02/08 Python
vue学习笔记之动态组件和v-once指令简单示例
2020/02/29 Python
园长自我鉴定
2013/10/06 职场文书
电气工程和自动化自荐信范文
2013/12/25 职场文书
国际贸易个人求职信范文
2014/01/04 职场文书
表彰先进集体通报
2014/01/12 职场文书
说明书格式及范文
2014/05/07 职场文书
2014年社区工作总结
2014/11/18 职场文书
小学生作文评语集锦
2014/12/25 职场文书
2015年老干部工作总结
2015/04/23 职场文书
2015年九一八事变纪念活动实施方案
2015/05/06 职场文书
python将图片转为矢量图的方法步骤
2021/03/30 Python
Go语言实现Base64、Base58编码与解码
2021/07/26 Golang
星际争霸:毕姥爷vs解冻01
2022/04/01 星际争霸