创建使用php连接外部服务器的接口(并执行shell命令)

时间:2012-07-09 10:36:07

标签: php shell-exec

我有4台服务器用于网络,DNS,邮件和数据库。我想创建一个接口,使用服务器的IP(可能是端口)和用户名和密码远程连接这些服务器(稍后,在下一步执行linux / winsows命令,如关机/重置服务器,停止/启动IIS,停止/启动邮件服务器,...)

是否可以或任何链接帮助我?

2 个答案:

答案 0 :(得分:1)

套接字是一种使用服务器 - 客户端模型的方法,但我不会建议它。
SSH是另一种安全连接到服务器并执行命令的方法,你可以在本地计算机上创建一个CGI脚本,并使用表单/按钮等一次管理一个服务器。请注意,如果服务器端使用Linux发行版,则必须具有openssh-server软件包。

答案 1 :(得分:1)

您可以使用GeoPhoenix所说的ssh模块。你可以尝试使用curl的另一种方法。我假设您使用的是php,请考虑以下示例,

function check_dserver_process(){
    if(!$ch)
       $ch = curl_init();


        $options=array( CURLOPT_URL => "http://122.165.212.22:81/mysite/init.php",
                        CURLOPT_FRESH_CONNECT => 1,
                        CURLOPT_RETURNTRANSFER => 1, 
                        CURLOPT_FORBID_REUSE =>1,
                        CURLOPT_USERAGENT => "Mozilla/4.0 (compatible; MSIE 5.01;Windows NT 5.0)"
                     );

        curl_setopt_array($ch,$options);
        $result=curl_exec($ch);  
        $op=($result===false ? curl_error($ch) : $result);
        curl_close($ch);
        return $op;
}  

如果调用上面的函数,它将从给定的url中获取init.php的输出。所以你可以使用exec()函数从init.php运行你自己的命令。在init.php中启动该进程之前,请确保该请求来自您的一个ip。