PHP linter(php -l
)确实知道Windos上CLI中的显示错误。
C:'websites'Project>"'Program Files (x86)'PHP5.3'php.exe" -l test.php
Errors parsing test.php
但不显示错误消息。
我打开了两个:
error_reporting(E_ALL|E_STRICT);
ini_set('display_errors', 'on');
幸运的是,我能够在我的日志中找到它:
C:'WINDOWS'temp'php-errors.log
Error:
[03-Jan-2016 16:24:24 America/New_York] PHP Parse error: syntax error, unexpected '[', expecting ')' in test.php on line 3
PS。这就是为什么错误没有显示
错误是:我使用了$var = [1];
而不是$var = array(1);
。
这是故意的,我试图弄清楚为什么CLI php -l
不适用于其他项目,所以我使用了一个测试文件作为控件。
您需要在命令行上将变量display_errors
定义为"on"或"1"。
方法是使用php命令行解释器的-d
选项。
例如:
php -l -d display_errors=1 test.php
或
php -l -d display_errors=On test.php