我在php中使用libreoffice5将doc转换为pdf时遇到了问题。
我编写了一个Linux shell来将office doc文档转换为pdf(t.sh):
#!/bin/sh
libreoffice5.0 --headless --invisible --convert-to pdf --outdir $1 $2
然后我在apache htdocs dir中创建了一个php文件,如下所示(mytest.php):
<?php
$cmd = './t.sh ./ ./55ffbc34c3808.docx';
var_dump($cmd);
$rtn = exec($cmd, $rtnResult, $rtnVal);
var_dump($rtnResult);
但是当我运行http://localhost/mytest.php时,页面永远不会停止并且没有打印结果(没有生成pdf)。 当我运行ps -ef | grep libre时,我看到了以下内容:
maijin 10403 10402 0 03:11 ? 00:00:00 /opt/libreoffice5.0/program/oosplash --headless --invisible --convert-to pdf --outdir ./ ./55ffbc34c3808.docx
maijin 10420 10403 1 03:11 ? 00:00:00 /opt/libreoffice5.0/program/soffice.bin --headless --invisible --convert-to pdf --outdir ./ ./55ffbc34c3808.docx
maijin 10427 8755 0 03:11 pts/1 00:00:00 grep libre
这些过程永远不会停止。 我检查了libreoffice并且它是正确的:
>ls -l /usr/local/bin/libreoffice5.0
lrwxrwxrwx 1 root root 35 Aug 22 02:54 /usr/local/bin/libreoffice5.0 -> /opt/libreoffice5.0/program/soffice
如果我在linux控制台中运行t.sh shell,则可以生成pdf文件。 为什么我不能在php中将doc转换为pdf?