我試圖將文件假脫機連接到使用PHP連接到服務器的打印機。使用LP命令的PHP exec在Mac OS X上失敗
我在PHP中使用EXEC發送一個命令,例如lp -d 'Brother_QL-570' '/Users/user_name/Documents/wwwroot/mmsprint/mmsUw8Vv9
,得到的返回值爲5
。該命令在終端窗口中正常工作。
如果我發送ls
,whoami
等,該命令執行正常。
whoami
and ls
住在/ bin,所以我創建了一個符號鏈接爲lp,並沒有什麼區別。
也試過/usr/bin/lp
這也沒有工作。我正在拉我留下的這些小毛髮。
安全模式關閉。 PHP和我的終端環境之間的路徑變量相同。 我在Lion上運行MAMP。
FWIW,命令cat /Users/user_name/Documents/wwwroot/mmsprint/mmswKJqYK | lp -d Brother_QL-570
返回值爲133
。
這是我的代碼:
$temp_file = tempnam("./", 'mms');
$pdf->Output($temp_file, "F");
$pdf->Close();
$cmd = "lp -d 'Brother_QL-570' '".$temp_file."'";
exec($cmd,$output,$retval);
error_log("-----cmd=".$cmd."\n", 3, "printCard.log");
foreach ($output as $a) {
error_log("-----output=".$a."\n", 3, "printCard.log");
}
error_log("-----retval=".$retval."\n", 3, "printCard.log");
有什麼想法?我錯過了什麼?這應該很容易。哎呀!
請不要恢復已完成的修改以提高您帖子的可讀性。 –