对外部程序的PHP调用都失败,退出代码为127

时间:2009-06-26 08:54:35

标签: php external-process

echo system("/usr/bin/whoami", $ret);
echo $ret;

PHP 2.0.9,关于Apache 2.0.52,CentOS 4.5。安全模式已关闭,我可以从命令行以apache用户帐户运行程序,但所有从PHP运行的程序都会失败,退出代码为127。

1 个答案:

答案 0 :(得分:1)

  • 查看/usr/bin/whoami是否存在,并且可由任何人执行(并且可读,模式xx5)。
  • 请参阅php.inidoc_root上的user_dir,如果已设置,则可以限制您可以执行的内容。
  • 如果您的Apache或PHP被chroot,您需要将应用程序执行到chroot。
  • 如果计算机上正在运行其他安全系统或RBAC,请参阅dmesg中的/var/log/或日志文件。
  • 不要忘记使用&$ret代替$ret
  • 请参阅PHP的exec()passthru(),不同的功能可能适用于不同的情况。
  • 知道Apache有不同的php.ini,而cli使用的则不同。