2012-06-04 61 views
1

这对我来说很奇怪。我想知道为什么。我写了一个PHP脚本来验证test.php的在PHP shell脚本和MAMP上的PHP之间的区别?

<?php 
    print("Hello World"); 
    ?> 

的验证脚本的index.php另一个名为PHP脚本的语法是:

#!/usr/bin/env php 
<?php 
exec("php -l test.php", $error, $retcode); 
echo($retcode . "<br />"); 
var_dump($error); 
?> 

当我在命令行运行PHP index.php,它生成此输出:

0<br />array(1) { 
    [0]=> 
    string(37) "No syntax errors detected in test.php" 
} 

这对我来说很好。但是,当我在本地主机上运行时,它会生成此输出:

#!/usr/bin/env php 5 
array(0) { } 

为什么$ retcode设置为5?另外,我在PHP5.3上

+0

你在哪里得到$ RETCODE是设为五?我没有看到你的例子。 –

+0

我已经包含了输出屏幕。 5位于#!/ usr/bin/env php旁边 – knd

回答

0

好的,我已经知道了这一点。

检查http://linux.die.net/man/1/rsync退出代码信息。

的问题是,我必须使用对MAMP PHP解释,那就是:

exec("/Applications/MAMP/bin/php/php5.3.6/bin/php -l $file",$error,$retcode); 

我使用之前是PHP解释器在OS X上的一个

相关问题