正在加载...

php通过sudo执行root指令

[ 2009/10/09 17:15 | by selboo ]

例如
apache使用nobody用户运行,现在需要通过php来重启apache
首先编辑 /etc/sudoers 使用 visudo来编辑
#visudo
在最下面添加一行

nobody ALL=NOPASSWD:/usr/local/apache/bin/apachectl  restart

然后注释掉文件中的Defaults requiretty这行
否则会出现sudo: sorry, you must have a tty to run sudo的错误
保存退出即可
测试
写一个php文件,内容如下

引用
<?php
$output = shell_exec("/usr/bin/sudo /usr/local/apache/bin/apachectl  restart");
echo $output;
?>
Tags:
,
发表评论
表情
打开HTML
打开UBB
打开表情
隐藏
记住我
昵称   密码   游客无需密码
网址   电邮   [注册]