当我在 shell 命令提示符中键入以下内容时,它会将 .docx 文件转换为 .pdf 文件。
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);
?>
编辑-以下脚本产生以下结果。请注意,当 shell_exec() 不需要时, 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=