问题使用LibreOffice使用PHP的EXEC将DOCX转换为PDF

时间:2015-01-08 06:58:57

标签: php windows command-line exec libreoffice

我遇到在基于Windows的PHP服务器上运行exec命令的问题。

我正在尝试使用LibreOffice Portable将.docx文件转换为.pdf文件。代码的重要部分如下:

exec('LibreOfficePortable/App/libreoffice/program/soffice.exe'
    . ' --headless --convert-to pdf'
    . ' C:\inetpub\wwwroot\eCaseDev\Webapp\pdfmaker\output.20.docx'
    . ' --outdir C:\inetpub\wwwroot\eCaseDev\Webapp\pdfmaker');

问题是命令没有完成,浏览器会无限期地等待,直到它超时。直接在Windows命令提示符下运行时,相同的命令可以正常工作。

我认为这个问题可能与运行PHP进程的用户的权限有关,尽管我已经为所有被调用的可执行文件的用户授予了完全权限(除非我做错了)。

1 个答案:

答案 0 :(得分:-1)

尝试使用shell_exec();

它检查权限是否设置良好:

  • C:/窗/温度
  • C:/ program files(x86)/ Java
  • 文件夹pdfmaker