apache 需要有cmd的执行权限

解决方案 »

  1.   

    我在本机搭建的服务器,然后在本地的电脑shutdown  shutdown -r -m \\192.168.1.113是没有任何问题的,并且php程序可以执行exec("mkdir c:\\test",$out); 说明apache是有权限的,但是这个mkdir可以成功运行的话,为什么shutdown远程机器不能成功运行了? 我查看了一下apache error log 也是提示没有权限 ,但是本地的cmd明明是可以的呀
      

  2.   

    我本地执行cmd命令是可以shutdown远程机器的。但是一用php去执行就不行了 我查看了一下apache error log提示是没有权限,这个是apache没有权限么,如果apache没有执行cmd的权限的话,那么为什么mkdir能够运行成功了,如果对远程机没有权限的话,那为什么本地直接执行cmd命令是可以远程关机了?高分求解
      

  3.   

    本地執行的是用你login系統的賬號。
    php調用是以apache賬號執行的。兩者不同。<?php
    exec("mkdir c:\\test",$out);
    print_r($out);
    ?>
    這個是在本地創建文件夾,又不是在遠程機創建。
      

  4.   

    那也就是说只要在远程 机上配制APACHE的账号就,让其有权限远程shutdown就OK了是吧
      

  5.   

    不是。
    要用ssh 連過去,然後再shutdown。
    不能直接在本機調用shutdown
      

  6.   

    用SSH连过去这个在PHP里用程序可以实现么?
      

  7.   

    远程机是WINDOWS SERVER 2008 R2的系统
      

  8.   

    ssh host command
    但要輸入密碼
    所以兩臺server要建立信任關係
    可建立密鑰對
    ssh-keygen -t rsa 創建
      

  9.   

    账号和密码都不是问题,这个根SERVER的系统有关系么,远程机的系统都是windows 2008 R2的操作系统
      

  10.   

    server A 重啟 server B
    server A domain http://servera.com/shutdown.php
    server B domain http://serverb.com/shutdown.php apache 需要是管理員權限在server A的shutdown.php中,使用curl訪問server B的shutdown.php就可以實現了。server A
    shutdown.php<?php
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_URL, 'http://serverb.com/shutdown.php');
    $response = curl_exec($ch);
    if($error=curl_error($ch)){
      die($error);
    }
    curl_close($ch);
    echo 'shutdown server b success';
    ?>
    server B
    shutdown.php<?php
    $cmd = "shutdown -r";
    exec($cmd, $out);
    echo $out;
    ?>
      

  11.   

    现在有很多台需要 重启的SERVER,那岂不是每台都要搭建一个WEB服务器,我在想一种方法在一台机器 上连接所有远程机器 然后执行shutdonw命令
      

  12.   

    你可以写一个批处理
    shutdown -r -m \\192.168.1.113 -t 0 -f
    shutdown -r -m \\192.168.1.114 -t 0 -f
    shutdown -r -m \\192.168.1.115 -t 0 -f
    ...
    然后用 exec 调用
      

  13.   

    没什么不方便的,只不过多一句 file_put_contents 而已
      

  14.   

    有权限问题就是做不到了,因为web方式下的php搜拥有的权限最低
    cli方式时就高了