给予php root权限以运行linux cli应用程序
我的服务器是Ubuntu版本,Nginx& PHP5-FPM
我尝试了以下
$shell_cmd = "someprogram 'runthispath'";
shell_exec($shell_cmd);
当我尝试这样做时,它只是不起作用,因为我的php5-fpm以用户“nginx”运行,我想它没有能力运行某个程序。
我的服务器仅供我使用,而且它用于开发应用程序,安全性不是现在的大问题。我应该怎么做才能让我的php运行应用程序,我读到我可以通过编辑sudoer文件来实现,但我想在不使用“sudo”的情况下运行应用程序,或者如果sudo是唯一的选择,我会这样做,希望听到一些建议。
谢谢!
答案 0 :(得分:0)
我最近发布了一个项目,允许PHP获取真正的Bash shell并与之交互。在此处获取:https://github.com/merlinthemagic/MTS
下载后,您只需使用以下代码:
$shell = \MTS\Factories::getDevices()->getLocalHost()->getShell('bash', true);
// you must escape the path quotes.
$return1 = $shell->exeCmd("someprogram \"runthispath\"");
//the return will be a string containing the return of the command
echo $return1;