本人使用的环境为
操作系统:redhat5
apache 2
php5
想在web访问的时候执行service network restart
试过的方法有:
system("/usr/bin/sudo service network restart");
调用一个shell脚本,里面执行的是重启网卡命令
调用一个c程序,更改UID来执行此命令上面这些用法都试过了,还是不灵,郁闷呀,那位大虾帮帮忙,分不够再开贴送分

解决方案 »

  1.   

    你的apache是以哪个用户运行的?
      

  2.   

    如果够权限, 可以试一下这样echo `/usr/bin/sudo service network restart`; 
      

  3.   

    而且我在web里面执行system("/bin/ls -l",$aaa)返回值为126,怎么能让他执行成功呢,大家帮帮忙
      

  4.   

    试一下setuid创建一个文件如 a.sh
    #!/bin/bash
    service network restart设置所有者和用户组为root和你apache的组
    chown root:yourapachegroup a.sh
    设置root全权,apache组用户可读可运行,那个4就是setuid,意思就是这个执行的时候会以所有者身份运行
    chmod 4750 a.sh仅提供思路,方法未经测试