UCONV не удалось преобразовать файлы в PHP на CentOS

У меня установлена ​​библиотека UNOCONV на моем CentOS 7.3.16.11. Когда я запускаю преобразование файлов из CLI, все работает нормально, и я получаю PDF-документ обратно:
unoconv -d spreadsheet --format=pdf -o temp/ ./document.docx

Но когда я пытаюсь выполнить его из PHP 5.6.29, он не дает мне никакого выходного PDF. Я получаю сообщение об ошибке из среды Python:
Traceback (most recent call last):
File "/usr/bin/unoconv", line 1196, in <module>
run()
File "/usr/bin/unoconv", line 1108, in run
office_environ(of)
File "/usr/bin/unoconv", line 202, in office_environ
os.environ['PATH'] = realpath(office.basepath, 'program') + os.pathsep + os.environ['PATH'] File "/usr/lib64/python2.7/UserDict.py", line 23, in \__getitem__
raise KeyError(key)
KeyError: 'PATH'

Проверил пути в моей среде с:
echo $PATH
Выход:
/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/username/.local/bin:/home/username/bin

Что может быть не так с запуском UNOCONV из php?

0

Решение

Помимо выяснения, как правильно установить PATH при использовании php, вы можете взломать скрипт unoconv и изменить строку 1174 из


os.environ['PATH'] = realpath(office.basepath, 'program') + os.pathsep + os.environ['PATH']

в


os.environ['PATH'] = realpath(office.basepath, 'program') + os.pathsep + os.environ['PATH'] if 'PATH' in os.environ.keys() else ''

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]