У меня возникла проблема при преобразовании документа в PDF с использованием libreoffice5 в PHP.
Я написал оболочку Linux для преобразования документа Office Office в PDF (t.sh):
#!/bin/sh
libreoffice5.0 --headless --invisible --convert-to pdf --outdir $1 $2
Затем я создал php-файл в apache htdocs dir следующим образом (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
Если я запускаю оболочку t.sh в консоли linux, файл pdf может быть сгенерирован.
Почему я не могу преобразовать документ в PDF в PHP?
Задача ещё не решена.
Других решений пока нет …