我遇到在基于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进程的用户的权限有关,尽管我已经为所有被调用的可执行文件的用户授予了完全权限(除非我做错了)。
答案 0 :(得分:-1)
尝试使用shell_exec();
它检查权限是否设置良好: