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


Issue Using LibreOffice to Convert DOCX to PDF using PHP's EXEC

我在基于 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 进程的用户的权限有关,尽管我已经向所有用户授予了调用可执行文件的完全权限(除非我这样做不正确)。

尝试使用shell_exec();

它检查权限是否在以下位置设置良好:

  • C:/窗口/温度
  • C:/程序文件 (x86)/Java
  • 文件夹 PDFMAKER