PHPを使用してサーバに接続されたプリンタにファイルをスプールしようとしています。Mac OS XでLPコマンドを使用するPHP execが失敗する
lp -d 'Brother_QL-570' '/Users/user_name/Documents/wwwroot/mmsprint/mmsUw8Vv9
などのコマンドをPHPでEXECを使用して送信し、戻り値は5
です。このコマンドはターミナルウィンドウで正常に動作します。
ls
、whoami
などを送信すると、コマンドは正常に実行されます。
とls
が/ binにあるので、lpのシンボリックリンクを作成しても違いはありません。
/usr/bin/lp
も試してみましたが、どちらもうまくいきませんでした。私はこの上に何も出ていない小さな髪を引っ張っています。
セーフモードがオフです。パス変数は、PHPと私の端末環境で同じです。 私はLAMPで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");
任意の考え?私は何が欠けていますか?これは簡単なはずです。アー!
投稿の可読性を向上させるために行った編集を元に戻してください。 –