Я работаю над веб-сайтом для школы на школьном сервере. Мой веб-сайт использует unoconv. Это обрабатывало до сих пор по некоторым причинам. В основном то, что происходит, является этим, если я выполняю эту команду в консоли:
unoconv powerpoint.pptx
это дает мне эту ошибочную Ошибку: Не мог соединиться или запустить собственного слушателя. Прерывание.
однако работы с:
sudo unoconv powerpoint.pptx
unoconv 777, и владение является www-data:www-data, но им работа привычки через веб-сайт также.
pgrep -l 'office|writer|calc'
шоу ничто для конфликта, и: unoconv - слушатель и не решает проблему
Что еще я должен сделать для исследования?
Я просто имел ту же проблему и нашел эту ссылку очень полезной:
, Короче говоря откройте /etc/sudoers
файл в Вашем любимом редакторе и найдите эту строку:
root ALL=(ALL) ALL
Добавляют новую строку чуть ниже его как так:
root ALL=(ALL) ALL
user.name ALL=NOPASSWD: /path_to_your_program_bin_file
Так для выполнения unoconv от апача Вам нужно что-то вроде этого:
root ALL=(ALL) ALL
apache ALL=NOPASSWD: /usr/bin/unoconv
, Является ли это хорошей идеей иметь апачского пользователя в sudoers файле, целый другой вопрос, но также и не забывайте, что sudo полномочие ограничено просто определенной рассматриваемой программой. Apache просто ничего не может выполнить с sudo: только unoconv программа.
@Erik Stagg, я знаю, что это должно поздно но действительно использовать unoconv с другим пользователем, можно оставить открытое портом с sudo в другом процессе:
$ sudo unoconv --listener
Между тем этот процесс работает, можно использовать unoconv с обычным пользователем:
$ unoconv -f docx file.doc