В настоящее время я нахожусь на ssh на удаленной системе CentOS 5.6, которая запускает веб-сервер Apache. Мне нужно использовать двоичный файл poppler pdftohtml
, который, к сожалению, в настоящее время не установлен на этой машине. Поэтому я загрузил пакет poppler и построил его под своей пользовательской папкой. С II утра не системный администратором, я не делалPHP shell_exec, разрешен отказ на выполнение скрипта оболочки -rwxrwxrwx
make install
и у меня есть все мои скомпилированные файлы под
/users/myfolder/poppler-0.18.2/
файл, который мне нужно выполнить через PHP shell_exec()
является
/users/myfolder/poppler-0.18.2/utils/pdftohtml
Если я выполню его через мой ssh bash, я получаю правильный вывод. Если я, вместо того, поставить эту строку на скрипт:
echo shell_exec("https://stackoverflow.com/users/myfolder/poppler-0.18.2/utils/pdftohtml");
Я получаю следующий вывод:
sh: /users/myfolder/poppler-0.18.2/utils/pdftohtml: Permission denied
Я попытался установить 777 права доступа к файлам, которые в настоящее время являются -rwxrwxrwx. Я также заметил, что использование shell_exec("whoami");
приводит к «apache». Не следует ли apache выполнить сценарий, если права доступа к файлу - rwxrwxrwx?
Я также знаю, что установка poppler через make install
решит проблему, но поскольку это предназначено для тестирования, я хотел бы избежать «заражения» системы вне моей личной папки до завершения тестирования.
Спасибо всем, кто поможет!
Не CentOS также использует SELinux? – mario