IIS上的PHP exec无法通过web浏览器工作

IIS上的PHP exec无法通过web浏览器工作,php,exec,iis-10,Php,Exec,Iis 10,我正在使用IIS10服务器和PHP7.2,我可以管理它 我有一个PHP文件,里面有一个exec($instr)调用soffice线程来转换PDF格式的docx: $sofice = 'soffice --headless --convert-to pdf --outdir D:\www\CCAC_dev\model\data\001\temp\2021\05\ D:\www\CCAC_dev\model\data\001\temp\2021\05\geom.docx'; exec($sofice

我正在使用IIS10服务器和PHP7.2,我可以管理它

我有一个PHP文件,里面有一个
exec($instr)
调用soffice线程来转换PDF格式的docx:

$sofice = 'soffice --headless --convert-to pdf --outdir D:\www\CCAC_dev\model\data\001\temp\2021\05\ D:\www\CCAC_dev\model\data\001\temp\2021\05\geom.docx';
exec($sofice, $data);
指令直接在CMD中工作,当我使用以下命令调用它时,它也可以工作:

php-f file.php

但是,当我通过web浏览器调用
文件.php
时,没有附加任何内容。
当它应该写入PDF文件并允许访问IUSR时,我检查了文件夹权限。

请共享file.php.soffice的内容,如果它是staroffice/libreoffice/openoffice可执行文件(我假设它是GUI应用程序,但你没有说),是吗?如果是这样,那就是个问题。IIS的用户帐户不在GUI会话中运行。如果程序需要GUI才能启动,那么它将永远不会在您的web应用程序中运行。这也许是你需要检查的。您是否正在捕获exec()的任何输出,以查看是否有任何错误消息或其他内容?@prieber:这非常简单
$sofice='soffice--headless--convert to pdf--outdir D:\www\CCAC_dev\model\data\001\temp\2021\05\D:\www\CCAC_dev\model\data\001\temp\2021\05\geom.docx';exec($sofice,$data)大约一年前,我做了一个类似的项目,但使用的是libreoffice和apache。假设服务器与此无关,我很难意识到libreoffice不能在多个实例中无头工作。这可能是一个开始。谢谢你添加代码。您没有捕获或显示
exec
的输出,因此不清楚如何才能说soffice命令没有错误消息-您没有检查任何错误消息。