PHP で libreoffice5 を使用して doc を pdf に変換するときに問題が発生しました。
Office doc ドキュメントを pdf (t.sh) に変換する Linux シェルを作成しました。
#!/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 シェルを実行すると、pdf ファイルが生成されます。php でドキュメントを pdf に変換できないのはなぜですか?