我正在使用这个PHP代码:
exec("unrar e file.rar",$ret,$code);
并获得非法命令的错误代码,即127 ...但是当我通过ssh使用此命令时它的工作...因为unrar安装在服务器上...所以有人可以猜到为什么exec没有做正确的事情?
尝试使用应用程序的直接路径(/ usr/bin/unrar的任何东西),听起来像php无法找到应用程序.
如果您已经chrooted apache和php,您还需要将/ bin/sh放入chrooted环境中.否则,exec()或passthru()将无法正常运行,并将生成错误代码127,找不到文件.