我正在从Windows批处理文件中调用php lint,如下所示:
@echo off
for %%f in (*.php) do php -l %%f
Run Code Online (Sandbox Code Playgroud)
当文件包含语法错误时,它只输出Errors parsing xxx.php.有没有办法让它告诉我错误的本质是什么,它是什么线?也许另一个开关?
PJ *_*net 38
如果您在没有任何详细信息的情况下收到"错误解析foo.php"消息,则此代码将在您运行PHP lint时显示错误:
php -d display_errors=1 -l foo.php
谢谢查尔斯!
例:
[somewhere]# php -l submit.php Errors parsing submit.php [somewhere]# php -d display_errors=1 -l submit.php Parse error: syntax error, unexpected T_VARIABLE in submit.php on line 226 Errors parsing submit.php
Ham*_*ite 21
我已经接受了查尔斯的回答,但我想我应该添加一些细节,因为我不得不做一些额外的狩猎来找出要做的事情.
问题是我没有看到stderr输出,所以我开始添加2>&1到相关命令的末尾.这仍然没有帮助,所以我意识到问题是PHP根本没有输出stderr的东西.我去了PHP安装目录并查看了php.ini,发现默认情况下display_errors是Off.将其更改为On现在可以使用了.