0

在 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 目录中创建了一个 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?

4

0 回答 0