我正在尝试运行以下代码来执行来自 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";
但我试图通过代码停止的应用程序允许执行。
答案 0 :(得分:0)
我认为运行您的网络服务器(www-data / apache / etc)的用户无法访问您的/tmp/stop
路径。这在CodeIgniter或PHP配置中不是问题,而是来自操作系统和用户权限。