我需要在PHP中运行PHP代码的PHP解析器。我在Windows上,我尝试过
system("C:\\Program Files (x86)\\PHP\\php.exe -l \"C:/Program Files (x86)/Apache/htdocs/a.php\"", $output);
var_dump($output);
没有运气。参数-l应检查正确的PHP语法,如果存在某些问题则抛出错误。基本上,我想做一些类似于这张图片的事情:
alt text http://www.mpsoftware.dk/images/phpdesigner7/phpdesigner7-php-syntaxerror.png
即,能够检测代码中的错误。
答案 0 :(得分:2)
这似乎有效:
<?php
$file = dirname(__FILE__) . '/test.php';
//$output will be filled with output from the command
//$ret will be the return code
exec('php -l ' . escapeshellarg($file), $output, $ret);
//return code should be zero if it was ok
if ($ret != 0) {
echo 'error:';
var_dump($output);
} else {
echo 'ok';
}
答案 1 :(得分:1)
runkit扩展提供了执行此操作的功能:
如果您不能使用runkit,那么您只能以其他方式执行您已尝试过的操作:
echo passthru("php -l ".__FILE__);
如果无效,请尝试使用realpath()修复路径。