Все вызовы PHP для внешних программ завершаются с кодом выхода 127 - PullRequest
0 голосов
/ 26 июня 2009
echo system("/usr/bin/whoami", $ret);
echo $ret;

PHP 4.3.9 на Apache 2.0.52, CentOS 4.5. Безопасный режим отключен, я могу запускать программы как учетную запись пользователя apache из командной строки, но все программы, запускаемые из PHP, завершаются с ошибкой с кодом завершения 127.

1 Ответ

1 голос
/ 05 июля 2009
  • Проверьте, существует ли /usr/bin/whoami и является ли он исполняемым (и читаемым в режиме xx5) кем-либо.
  • См. php.ini на doc_root и user_dir, если они установлены, они могут ограничить то, что вы можете выполнить.
  • Если ваш Apache или PHP имеют chroot, вам нужно поместить приложение для выполнения в chroot.
  • Если на компьютере работает какая-либо другая система безопасности или RBAC, см. dmesg или файлы журналов в /var/log/.
  • Не забудьте использовать &$ret вместо $ret.
  • См. PHP * exec() и passthru(), различные функции могут работать в разных ситуациях.
  • Знайте, что есть другой php.ini для Apache и другой для использования в CL.
...