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 相关文章推荐
dedecms 制作模板中使用的全局标记图文教程
Mar 11 PHP
使用TinyButStrong模板引擎来做WEB开发
Mar 16 PHP
PHP对字符串的递增运算分析
Aug 08 PHP
PHP数组的交集array_intersect(),array_intersect_assoc(),array_inter_key()函数的小问题
May 29 PHP
PHP使用数组实现队列
Feb 05 PHP
在yii中新增一个用户验证的方法详解
Jun 20 PHP
PHP生成不同颜色、不同大小的tag标签函数
Sep 23 PHP
PHP字符串比较函数strcmp()和strcasecmp()使用总结
Nov 19 PHP
php 可变函数使用小结
Jun 12 PHP
php实现微信企业转账功能
Oct 02 PHP
PHP Include文件实例讲解
Feb 15 PHP
php弹出提示框的是实例写法
Sep 26 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
漫威DC御用漫画家去世 他的表情包曾走红网络
2020/04/09 欧美动漫
PHP中路径问题的解决方案
2006/10/09 PHP
php 正确解码javascript中通过escape编码后的字符
2010/01/28 PHP
php for 循环语句使用方法详细说明
2010/05/09 PHP
一个简单php扩展介绍与开发教程
2010/08/19 PHP
thinkphp查询,3.X 5.0方法(亲试可行)
2017/06/17 PHP
PHP使用ajax的post方式下载excel文件简单示例
2019/08/06 PHP
php写app用的框架整理
2019/09/29 PHP
Jquery实现带动画效果的经典二级导航菜单
2013/03/22 Javascript
json格式的时间显示为正常年月日的方法
2013/09/08 Javascript
JS读取XML文件示例代码
2013/11/15 Javascript
jQuery实现的多选框多级联动插件
2014/05/02 Javascript
jQuery点击按钮弹出遮罩层且内容居中特效
2015/12/14 Javascript
轻松实现jquery手风琴效果
2016/01/14 Javascript
jquery结合html实现中英文页面切换
2016/11/29 Javascript
基于JS实现网页中的选项卡(两种方法)
2017/06/16 Javascript
信息滚动效果的实例讲解
2017/09/18 Javascript
用node-webkit把web应用打包成桌面应用(windows环境)
2018/02/01 Javascript
vue-router配合ElementUI实现导航的实例
2018/02/11 Javascript
javascript canvas检测小球碰撞
2020/04/17 Javascript
在vue中使用Echarts利用watch做动态数据渲染操作
2020/07/20 Javascript
微信小程序入门之绘制时钟
2020/10/22 Javascript
Java及python正则表达式详解
2017/12/27 Python
解决python 文本过滤和清理问题
2019/08/28 Python
tensorflow使用range_input_producer多线程读取数据实例
2020/01/20 Python
python编写一个会算账的脚本的示例代码
2020/06/02 Python
Django实现随机图形验证码的示例
2020/10/15 Python
css3实现wifi信号逐渐增强效果实例
2017/08/09 HTML / CSS
薇姿法国官网:Vichy法国
2021/01/28 全球购物
Oracle里面常用的数据字典有哪些
2014/02/14 面试题
失业者真诚求职信范文
2013/12/25 职场文书
鉴定评语大全
2014/05/05 职场文书
培训研修方案
2014/06/06 职场文书
青岛导游词
2015/02/12 职场文书
财务人员个人工作总结
2015/02/27 职场文书
nginx 反向代理之 proxy_pass的实现
2021/03/31 Servers