3

我正在尝试通过命令行使用 unoconv 通过 PHP 将 word 文档转换为 PDF。

我正在使用Symfony Process Component通过命令行运行命令。

public function run()
{
    $cmd = 'unoconv --listener & unoconv ' . $this->path;

    //Tested this to check for permissions and this worked.
    //$cmd = 'touch /vagrant/public/testfile.pdf'; 

    $process = new Process($cmd);  
    $process->run();

    return $process->getOutput();
}

这不会产生任何输出,也不会转换文件。但是,如果我回显$cmd并将其粘贴到 CLI 中,它会按预期转换文件并记录输出。

任何想法可能是什么问题?

编辑:我已经尝试过:在 symfony 类上调用mustRun()&方法。start()

mustRun()给出以下错误:

"The command '//command//' failed. Exit Code: 251(Unknown error) Output: ================ Error Output: ================

按照 Diego Ferri 的建议添加日志代码后,我进入Error: Unable to connect or start own listener. Aborting.日志文件;但我在网上找不到太多对此有帮助的东西。

4

1 回答 1

0

请阅读本节,同时检查故障排除部分

shell 可能缺少一些重要的环境变量,以便 unoconv/LibreOffice 正常工作(PATH、HOME、...)。并且建议您使用 unoconv 调用 LibreOffice python 二进制文件,而不是让 unoconv 来确定 LibreOffice 和 python 的位置。

于 2015-09-08T15:30:14.963 回答