2011-12-22 70 views
0

我有這個PHP腳本(test.php的):從PHP執行腳本SASS和獲取輸出

<?php 

    $cmd = "/usr/bin/sass --watch file1.scss"; 

    system($cmd); 

?> 

現在我這樣叫我的PHP腳本從CLI:

/usr/bin/php test.php 

我也得到沒有輸出(它應該打印SASS正在觀察變化)。

如果我直接從shell調用SASS命令,它會正確輸出。

爲什麼?

信息:我使用的是OS X Lion的

編輯的PHP 5.3.6版本:請注意,更改此命令的手錶,它似乎表現不同的常規命令。

編輯2:該命令起作用,它編譯正確。唯一缺少的是輸出(我想調試並查看錯誤:)

回答

0

一些命令行實用程序等青菜,操縱所述輸出管道以某種方式PHP不能使用。

因此,在這種特殊情況下,沒有解決方案。

0

system()返回一個字符串。只是迴應它。

+0

nope,它保持不變 – 2011-12-22 13:39:00

+0

所以,它可能是你的PATH問題。嘗試使用sass可執行文件的完整路徑(用「哪個sass」得到它) – 2011-12-22 13:43:50

+0

仍然不起作用,我會更新問題,明確指令的工作原理,但它只是缺少輸出 – 2011-12-22 13:46:27

0

根據需要在第二個參數給系統傳遞http://se.php.net/system()和該命令的返回值將在該變量被設置:

<?php 
system($command, $return); 

echo $return; 
+0

這也行不通,請請注意,它是一個在循環中執行自己以查看更改的命令,所以,我不搜索返回值,只是正常輸出(順便說一句,在此情況下,使用ctrl + c完成命令的任何輸出都不會) – 2011-12-22 13:54:49