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将数据库中所有内容生成静态html文档的代码
Apr 12 PHP
解析php通过cookies获取远程网页的指定代码
Jun 25 PHP
PHP把网页保存为word文件的三种方法
Apr 01 PHP
用 Composer构建自己的 PHP 框架之设计 MVC
Oct 30 PHP
php三种实现多线程类似的方法
Oct 30 PHP
PHP使用Pthread实现的多线程操作实例
Nov 14 PHP
Symfony2实现从数据库获取数据的方法小结
Mar 18 PHP
PHP完全二叉树定义与实现方法示例
Oct 09 PHP
PHP实现基于栈的后缀表达式求值功能
Nov 10 PHP
thinkPHP5框架闭包函数与子查询传参用法示例
Aug 02 PHP
php微信公众号开发之图片回复
Oct 20 PHP
PHP swoole和redis异步任务实现方法分析
Aug 12 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下将XML转换为数组
2010/01/01 PHP
php使用smtp发送支持附件的邮件示例
2014/04/13 PHP
PHPCrawl爬虫库实现抓取酷狗歌单的方法示例
2017/12/21 PHP
jQuery Div中加载其他页面的实现代码
2009/02/27 Javascript
WordPress JQuery处理沙发头像
2009/06/22 Javascript
5款Javascript颜色选择器
2009/10/25 Javascript
NodeJS框架Express的模板视图机制分析
2011/07/19 NodeJs
javascript事件模型实例分析
2015/01/30 Javascript
jQuery实现简单下拉导航效果
2015/09/07 Javascript
jQuery+css实现炫目的动态块漂移效果
2016/01/28 Javascript
JS事件添加和移出的兼容写法示例
2016/06/20 Javascript
WEB前端实现裁剪上传图片功能
2016/10/17 Javascript
JavaScript定义全局对象的方法示例
2017/01/12 Javascript
深入理解 JavaScript 中的 JSON
2017/04/06 Javascript
详解Angular2 之 结构型指令
2017/06/21 Javascript
vue中实现滚动加载更多的示例
2017/11/08 Javascript
利用jQuery+localStorage实现一个简易的计时器示例代码
2017/12/25 jQuery
谈谈为什么你的 JavaScript 代码如此冗长
2019/01/30 Javascript
JavaScript undefined及null区别实例解析
2020/07/21 Javascript
[06:53]DOTA2每周TOP10 精彩击杀集锦vol.3
2014/06/25 DOTA
在Linux上安装Python的Flask框架和创建第一个app实例的教程
2015/03/30 Python
使用Python编写简单的端口扫描器的实例分享
2015/12/18 Python
Python中py文件引用另一个py文件变量的方法
2018/04/29 Python
python中logging模块的一些简单用法的使用
2019/02/22 Python
python DES加密与解密及hex输出和bs64格式输出的实现代码
2020/04/13 Python
AmazeUI中各种的导航式菜单与解决方法
2020/08/19 HTML / CSS
Farfetch阿联酋:奢侈品牌时尚购物平台
2019/07/26 全球购物
英国伦敦的睡衣品牌:Asceno
2019/10/06 全球购物
为什么说Ruby是一种真正的面向对象程序设计语言
2012/10/30 面试题
八项规定整改措施
2014/02/12 职场文书
检查机关领导群众路线教育实践活动个人整改措施
2014/10/28 职场文书
地道战观后感
2015/06/04 职场文书
幼儿园园长六一致辞
2015/07/31 职场文书
读后感怎么写?书写读后感的基本技巧!
2019/12/10 职场文书
PyTorch中的torch.cat简单介绍
2022/03/17 Python
使用Python解决图表与画布的间距问题
2022/04/11 Python