嗨我有同样的问题,我想从用PHP创建的DOCS转换PDF,我使用OpenSuse 12.3与LibreOffice,尝试了很多东西,最后我检测到错误在文件夹中:
1.-首先检查你是否在php.ini中没有禁用shell_exec,open_basedir不限制你的访问文件夹.
2.-在shell(终端)中以简单用户身份运行命令
export HOME = / tmp&& soffice –headless –convert-to pdf –outdir / srv / www / htdocs / /srv/www/htdocs/Creecimientos/sic/app/webroot/usuarios/2/8_Pagare_CreePersonas.docx
3.-如果它有效,你只需要在你的代码中放入正确的文件夹,当我在PHP中运行此代码时,它会显示一个空白页面,所以我检查apache的access_log是否有任何提示:
[Java framework]函数createSettingsDocument(elements.cxx)中的错误.
javaldx失败了!
警告:无法从javaldx读取路径
在抛出’com :: sun :: star :: uno :: RuntimeException’的实例后终止调用
注意:我的错误是使用导出HOME = / tmp,我检查根系统中的文件夹有777用于tmp,但问题是apache无法访问它,可能会搜索脚本的相关文件夹,但是经过测试很多东西我只放了一个文件夹,用于wwwrun HOME = / srv / www / htdocs / folder_with_777
这是我的最终代码,有效..
function word2pdf()
{
echo "Procesando";
$result = shell_exec('export HOME=/srv/www/htdocs/Creecimientos/sic/ && soffice --headless --convert-to pdf --outdir /srv/www/htdocs/Creecimientos/sic/ /srv/www/htdocs/Creecimientos/sic/app/webroot/usuarios/2/8_Pagare_CreePersonas.docx');
echo $result;
}
word2pdf();
?>
事实上,它打印:convert srv / www / htdocs / Creecimientos / sic / app / webroot / usuarios / 2 / 8_Pagare_CreePersonas.docx – > /srv/www/htdocs/Creecimientos/sic//8_Pagare_CreePersonas.pdf使用writer_pdf_Export,成功后.
我在desesperate模式之前做了其他更改,但没有一个解决了问题,试图将所有者更改为soffice,发现它是巫婆$ls -l $(自由的libreoffice),尝试用777等等.