我有这个PHP脚本(test.php):
<?php
$cmd = "/usr/bin/sass --watch file1.scss";
system($cmd);
?>
现在我从CLI调用PHP脚本:
/usr/bin/php test.php
我没有得到任何输出(它应该打印SASS正在监视更改)。
如果我直接从shell调用SASS命令,它会正确输出。
为什么?
Info:我在OS X Lion上使用PHP 5.3.6版本
Edit:请注意,该命令监视更改,它的行为似乎与常规命令不同。
Edit2:命令有效,编译正确。唯一缺少的是输出(我想调试并查看错误:)
一些命令行实用程序,如sass,以PHP无法使用的方式操作输出管道。
所以,在这种特殊情况下,没有解
system()返回一个字符串。
根据http://se.php.net/system,您需要向system()传递第二个参数,命令的返回值将在该变量中设置:
<?php
system($command, $return);
echo $return;