我们可以使用lint检查
用lint静态检查。
静态是一种只检查语法描述方法而不执行程序的方法。
此时使用lint命令。
※php_check_syntax这个语法检查函数已经被废止,所以不能使用。
然后准备实际出现错误的php文件。
lint_test.php
<"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命令。
<"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
<"error"
有一个错误,因为最后没有分号。
内容与执行lint时的内容相同,但附加了一些装饰以便于查看。
与lint的最大区别在于执行代码后出现的错误,因此可以说由于动态检查而出现错误。
php,语法检查
稳了!魔兽国服回归的3条重磅消息!官宣时间再确认!
昨天有一位朋友在大神群里分享,自己亚服账号被封号之后居然弹出了国服的封号信息对话框。
这里面让他访问的是一个国服的战网网址,com.cn和后面的zh都非常明白地表明这就是国服战网。
而他在复制这个网址并且进行登录之后,确实是网易的网址,也就是我们熟悉的停服之后国服发布的暴雪游戏产品运营到期开放退款的说明。这是一件比较奇怪的事情,因为以前都没有出现这样的情况,现在突然提示跳转到国服战网的网址,是不是说明了简体中文客户端已经开始进行更新了呢?