在php的shell_exec()中无法执行soffice命令

6

我已经在shell_exe()函数中运行了以下命令:

shell_exec('/usr/bin/soffice --headless --convert-to html:HTML --outdir /home/admin/Desktop/ /home/admin/Desktop/text.docx');

但是它在apache错误日志中给出了以下错误信息:

错误:请重新验证输入参数...


请澄清一下:这个命令是在服务器上运行吗? - caylee
@xanoetux 是的,这个命令运行良好。 - Jigar Pancholi
也许安全模式已激活? - caylee
@xanoetux 安全模式未激活。 - Jigar Pancholi
1个回答

0

您收到的错误与 PHP / apache 无关。

这是一个 soffice 输出。

因此,shell_exec() 可以正常工作,即使执行的命令返回一个输出,也可以将其传递回 shell_exec() 函数。

如何运行 soffice,我建议搜索论坛,例如: https://ask.libreoffice.org/en/question/2641/convert-to-command-line-parameter/

为了接收错误输出,最好使用 exec() 函数,而不是 shell_exec()

getting output and exit status from shell_exec()

https://unix.stackexchange.com/questions/15264/executing-a-shell-command-from-php-with-shell-exec


这个错误来自于php。我在apache错误日志中看到了它。soffice命令在终端中直接运行良好。 - Jigar Pancholi
浏览器中显示的错误与 error.log 中显示的相同。 - Jigar Pancholi
仍然出现错误来自于soffice,而不是PHP。Apache只是将CLI的消息传递回您的应用程序并打印出来。 - ino
但是你怎么知道错误是来自soffice而不是php呢?请告诉我。 - Jigar Pancholi
让我们在聊天中继续这个讨论 - Jigar Pancholi
显示剩余2条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接