Когда я ввожу следующее в командную строку оболочки, он преобразует файл .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'. Он не может быть использован в '$ PATH' PHP. –
Я просто проверяю, вы не в безопасном режиме, не так ли? – JRSofty
@ Майкл. Спасибо, но никакой разницы. – user1032531