给php root访问权限来运行linux cli应用程序

时间:2014-08-24 03:39:58

标签: php linux nginx

给予php root权限以运行linux cli应用程序

我的服务器是Ubuntu版本,Nginx& PHP5-FPM

我尝试了以下

$shell_cmd = "someprogram 'runthispath'";
shell_exec($shell_cmd);

当我尝试这样做时,它只是不起作用,因为我的php5-fpm以用户“nginx”运行,我想它没有能力运行某个程序。

我的服务器仅供我使用,而且它用于开发应用程序,安全性不是现在的大问题。我应该怎么做才能让我的php运行应用程序,我读到我可以通过编辑sudoer文件来实现,但我想在不使用“sudo”的情况下运行应用程序,或者如果sudo是唯一的选择,我会这样做,希望听到一些建议。

谢谢!

1 个答案:

答案 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;