通过网页检查PHP语法

通过网页检查PHP语法,php,syntax,Php,Syntax,我在命令行中多次使用“php-l”来检查文件是否包含有效的php,但我很难从网页上执行此任务 $out = `php -l /path/to/my.php`; // or... $out = `php -d error_reporting=1 -l /path/to/my.php`; // or... $out = `php -d error_reporting=1 -l /path/to/my.php 2>&1`; print $out; 但似乎没有任何东西返回我可以测试的值。

我在命令行中多次使用“php-l”来检查文件是否包含有效的php,但我很难从网页上执行此任务

$out = `php -l /path/to/my.php`;
// or...
$out = `php -d error_reporting=1 -l /path/to/my.php`;
// or...
$out = `php -d error_reporting=1 -l /path/to/my.php 2>&1`;
print $out;
但似乎没有任何东西返回我可以测试的值。我曾经尝试过使用exec和shell,但在这种方式调用时,似乎没有返回任何值;在CLI模式下调用PHP时,同样的代码也可以正常工作

(作为记录,授权用户正在提供这些文件,我正在清理文件输入,在这种情况下,必须通过网页进行检查)


有什么方法可以做到这一点吗?

如果你想要一个web输出,你需要使用“.php”文件并执行类似的操作

<?php 
    $res=`php -l /var/www/html/fagace/index.php`;
    print ("<html>
      <head>
        <title>An example</title>
      </head>
      <body>
        <strong>$res</strong>
      </body>
   </html>"); 
?>


你的第一个例子对我来说很好。我使用您的第一个示例创建了一个通过web访问的测试文件,它输出
test11.php中未检测到语法错误。不知道为什么这在你的情况下不起作用。@Fred:不完全是。反勾号表示执行字符串,然后返回输出,类似于
exec()
@Fred查看
var\u dump($out)
?@NickCoons的输出。当我注意到
-l
等我的错误后,我立即删除了我的评论。我的“获得多一点经验”腰带上的另一个“勾号”;-)