Вопрос

Мы переехали из Slackware To Centos здесь, он работал нормально, без предварительного уведомления, PHP перестал выполнять внешние вызовы, такие как вызовы на «WC» и «SPAMC». Все такие звонки появляются на error_log как:

SH: / USR / BIN / SPAMC: разрешение запрещено

Пути правильные. У нас есть разрешения, установленные правильно, и Apache должен иметь возможность выполнить файлы без проблем. Были НЕТ На Safe_mode и у нас нет набора base_dir. Это не Selinux, или хотя бы Sestatus говорит, что SELINUX отключен.

резюме:

  • PHP не может выполнить что-нибудь через exec () или popen ()
  • Пути к бинали верны.
  • Мы не в безопасном режиме
  • У нас нет набора base_dir
  • Разрешения на двоичные файлы позволяют пользователю Apache выполнять их
  • SELinux отключен
  • disable_functions в php.ini пусто
  • У нас нет подсказки, почему это не работает

PHP версия 5.3.3 и CentOS 5.5

У кого-нибудь есть подсказка того, что может происходить? заранее спасибо

Это было полезно?

Решение 2

Нашел ошибку.

Я пытался выполнить / usr / bin / tidy, например, папка USR имела разрешение на 644, которое похоже на Локосрафта ужаса в моей книге. Я мог бы работать, потому что я был root.

Я полагал его после смягчения сумасшедших и решил проверить разрешения на все компоненты пути команды из корневого / папки в аккуратный двоичный двоичный, я нашел все разрешения, установленные правильно, но в папке USR PROMS были полностью прикручены.

Это исправлено.

Другие советы

SELinux блокирует ваши попытки запустить их. Я рекомендую вам придумать правила, позволяющие запустить подмножество внешних команд, необходимых и загружаю это в качестве модуля.

PHP работает как Apache на сервере? Я думал, что это бегало, как никто ..

https://serverfault.com/questions/207989/php-cant-execute-any-external-command/208001#208001.

Как правило, PHP на Centos работает как никто, если вы не скомпилировали PHP как FastCGI, DSO и т. Д.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top