我已经安装一个FreeBSD服务器与Apache上的LibreOffice无头以文件编程转换(例如odt-> PDF)。它从命令行工作!但我的目标是能够从PHP做到这一点。这要求网络用户(www)可以运行libreoffice。但它不能。从PHP EXEC运行的LibreOffice()
当运行的LibreOffice作为我自己的用户,我得到:
%libreoffice --headless -convert-to pdf Litteraturundervisningogit.doc
javaPathHelper: not found #This should not be a problem, says people on the net.
convert /usr/home/bundsgaard.net/www/jeppe/foredrag/Litteraturundervisningogit.doc ->
/usr/home/bundsgaard.net/www/jeppe/foredrag/Litteraturundervisningogit.pdf using writer_pdf_Export
%
如果我尝试同样的命令,作为根,这是行不通的。同样是从PHP的WWW用户的问题:
sp# libreoffice --headless -convert-to pdf Litteraturundervisningogit.doc
javaPathHelper: not found
sp#
的问题是,我没有得到任何的LibreOffice的信息,因此,我不知道为什么LibreOffice的不希望其他用户身份运行比我自己的。
我的问题是:我如何给通过在PHP的exec()来运行的LibreOffice的WWW用户的权限?
+2
难道仅仅是一个路径的问题?他们各自的'$ PATH'是什么? –
2012-01-29 21:56:07
+1
你用root用户'%sudo php program.php'通过命令行测试过,作为客户端有权限吗? –
2012-11-11 20:48:02