當我在shell命令提示符中鍵入以下內容時,它會將.docx文件轉換爲.pdf文件。exec()不會執行任何操作
HOME=/tmp libreoffice3.5 --headless -convert-to pdf --outdir /tmp/ayb /tmp/ayb/document_16_64.docx
但是,當我運行下面的PHP腳本時,沒有任何反應。我已將/ tmp/ayb權限設置爲777,但仍然無法執行。有任何想法嗎?謝謝
<?php
$cmd='HOME=/tmp libreoffice3.5 --headless -convert-to pdf --outdir /tmp/ayb /tmp/ayb/document_16_64.docx';
exec($cmd);
?>
編輯 - 以下腳本會產生以下結果。請注意,exec()在shell_exec()不需要時需要一些時間。
<?php
$cmd='HOME=/tmp; /usr/bin/libreoffice3.5 --headless -convert-to pdf --outdir /tmp/ayb /tmp/ayb/document_16_64.docx';
echo($cmd);
exec($cmd,$out,$ret);
echo('<br />exec()<br />$out='.print_r($out,1).'<br />$ret='.$ret);
$out=shell_exec($cmd);
echo('<br />shell_exec()<br />$out='.print_r($out,1));
?>
輸出
HOME=/tmp; /usr/bin/libreoffice3.5 --headless -convert-to pdf --outdir /tmp/ayb /tmp/ayb/document_16_64.docx
exec()
$out=Array ()
$ret=134
shell_exec()
$out=
指定'/ path/to/libreoffice3.5'的完整路徑。它可能不在PHP正在使用的'$ PATH'中。 –
我只是檢查,你是不是在安全模式是你? – JRSofty
@Michael。謝謝,但沒有區別。 – user1032531