您可能会遇到 LibreOffice、OpenOffice 或 soffice 无法写入当前用户$HOME
目录的问题。
通过运行下面的命令,我能够识别正确的$HOME
目录并查看正在生成的错误。
$cmd = 'echo $HOME & unoconv -vvvv --format %s --output %s %s 2>/tmp/unoconv.debug.txt';
exec($cmd);
的详细输出$cmd
将生成写入文件:/tmp/unoconv.debug.txt
.
就我而言,输出是:
Verbosity set to level 5
DEBUG: Connection type: socket,host=127.0.0.1,port=2002,tcpNoDelay=1;urp;StarOffice.ComponentContext
DEBUG: Existing listener not found.
DEBUG: Launching our own listener using /usr/lib64/libreoffice/program/soffice.bin.
Failed to connect to /usr/lib64/libreoffice/program/soffice.bin (pid=32012) in 6 seconds.
Connector : couldn't connect to socket (Success)
Error: Unable to connect or start own listener. Aborting.
命令以 root 和sudo -u nobody
. 看到此输出后,我意识到主目录存在问题。
感谢 Dag Wieers的帮助 - 我希望这可以帮助其他 unoconv 开发人员进行调试。