从 PHP 脚本运行 Linux 命令?
我知道这是一个简单的问题,但我一生都无法解决这个问题。如果我通过 SSH (linux) 登录到我的服务器并输入: /home/username/public_html/x/foo.cgi f=subscribe l=list [email protected]
脚本运行完美。但是,如果我尝试通过 PHP 运行脚本,例如: shell_exec("/home/username/public_html/x/foo.cgi f=subscribe l=list [电子邮件受保护]");
没有任何反应。
有人能指出我正确的方向吗?
提前致谢!
特雷
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
“什么也没发生”并不是一个描述性很强的错误消息。尽管如此,我还是想到了三种可能性:
任你挑选。检查你的日志。确保不留下任何可供攻击者进入的漏洞。
"Nothing happens" isn't a very descriptive error message. Nevertheless, three possibilities come to mind:
Take your pick. Check your logs. Make sure you don't leave any holes available for attackers to get in.
如果您正在管理服务器,这很可能是权限问题。您的网络服务器正在运行 www-data 或一些类似的用户。它需要脚本文件的执行权限才能运行它。尝试使用 chmod 命令更改脚本的所有者,或者为您尝试运行的文件提供更自由的访问权限使用 chown 命令。
另一件需要考虑的事情是,如果 PHP 正在运行,则 shell_exec 可能会被禁用在安全模式。
If you are managing the server, most likely this is a permissions issue. Your webserver is running as www-data or some similar user. It needs execute permissions on the script file to run it. Try changing the script's owner with the chmod command or give the file you're trying to run more liberal access permissions with the chown command.
Another thing to consider is that shell_exec may be disabled if PHP is running in safe mode.