Shell命令不从Codeigniter执行

时间:2014-04-18 07:33:18

标签: php apache codeigniter shell

我正在尝试运行以下代码来执行来自 codeigniter 控制器 方法的shell命令但是它无效。

function Stopapplication(){
    shell_exec('/tmp/stop');
    $data['msg']="Application is Successfully Stoped";
    $this->load->view('management',$data);
}

 function Stopapplication(){
        popen('cd /home/hesong/ipsc','r');
        popen('./fight -q','r');       
        $data['msg']="Application is Successfully Stoped";
        $this->load->view('management',$data);
    }

还尝试 exec(),popen(),system()用于相同的目的但没有一个工作。 安全模式已关闭且这些功能不在 disable_functions列表中

注意:如果我从Corephp文件运行该命令而不是它的工作。

我在这里做错了什么?

修改

在代码下方使用并收到错误:权限被拒绝

$command="/tmp/stop";
$output=shell_exec($command." 2>&1");  
print "<pre>$output</pre>\n";

但我试图通过代码停止的应用程序允许执行。

1 个答案:

答案 0 :(得分:0)

我认为运行您的网络服务器(www-data / apache / etc)的用户无法访问您的/tmp/stop路径。这在CodeIgniter或PHP配置中不是问题,而是来自操作系统和用户权限。