【问题标题】:Issue Using LibreOffice to Convert DOCX to PDF using PHP's EXEC使用 LibreOffice 使用 PHP 的 EXEC 将 DOCX 转换为 PDF 的问题
【发布时间】:2015-03-06 05:46:57
【问题描述】:

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

【问题讨论】:

    标签: php windows command-line exec libreoffice


    【解决方案1】:

    试试shell_exec();

    它检查权限是否设置好:

    • C:/windows/temp
    • C:/程序文件 (x86)/Java
    • 文件夹 pdfmaker

    【讨论】:

    • 我解决了这个问题。我已经尝试过 shell_exec。我的印象是 shell_exec() 和 exec() 使用相同的权限,但如果我错了,请纠正我。
    猜你喜欢
    • 1970-01-01
    • 2018-09-19
    • 1970-01-01
    • 2013-07-30
    • 2018-12-01
    • 2022-08-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多