![linux 中的系统、exec 调用无法通过 php 工作,如果我直接运行到 putty 中,它就可以正常工作](https://linux22.com/image/980993/linux%20%E4%B8%AD%E7%9A%84%E7%B3%BB%E7%BB%9F%E3%80%81exec%20%E8%B0%83%E7%94%A8%E6%97%A0%E6%B3%95%E9%80%9A%E8%BF%87%20php%20%E5%B7%A5%E4%BD%9C%EF%BC%8C%E5%A6%82%E6%9E%9C%E6%88%91%E7%9B%B4%E6%8E%A5%E8%BF%90%E8%A1%8C%E5%88%B0%20putty%20%E4%B8%AD%EF%BC%8C%E5%AE%83%E5%B0%B1%E5%8F%AF%E4%BB%A5%E6%AD%A3%E5%B8%B8%E5%B7%A5%E4%BD%9C.png)
我尝试通过 php 执行一些命令。例如 kill {process id} 这些命令使用 putty 命令提示符工作正常但如果我使用 php 则同样没有任何反应。
答案1
您尝试执行的 shell 命令将以运行 PHP 二进制文件的进程的权限运行(即 apache 等...)当您通过 putty/ssh 登录时,kill 命令具有您的权限。
除非您对 PHP /apache 执行 suexec 或尝试终止由运行 PHP/apache 的同一用户拥有的进程,否则您不会有太大的运气。
我尝试通过 php 执行一些命令。例如 kill {process id} 这些命令使用 putty 命令提示符工作正常但如果我使用 php 则同样没有任何反应。
您尝试执行的 shell 命令将以运行 PHP 二进制文件的进程的权限运行(即 apache 等...)当您通过 putty/ssh 登录时,kill 命令具有您的权限。
除非您对 PHP /apache 执行 suexec 或尝试终止由运行 PHP/apache 的同一用户拥有的进程,否则您不会有太大的运气。