安裝PHP SSH2擴充
ubuntu安裝php連結伺服器需要php擴充:sudo apt-get install libssh2-1 php-ssh2
下載php extension ssh2
下載位址http://windows.php.net/downloads/pecl/releases/ssh2/ 0.12/
依照自己PHP的版本去下載,我使用的WAMPSERVER2.5(64bit),PHP版本為5.5.12,是線程安全的,
6、查看phpinfo(),是否有顯示php_ssh2擴充載入成功。
在linux環境下安裝
PHP SSH2擴充所需的依賴函式庫openssl:加密演算法集合,C語言實作libssh2: ssh2協定庫庫,C語言實作PECL/ssh2: libssh2的php擴展,允許php程式呼叫libssh2中的函數
#依賴關係:PECL/ssh2 – > libssh2 –> openssl
#安裝libssh2
wget http://www.libssh2.org/download/libssh2-1.4.2.tar.gz tar zxf libssh2-1.4.2.tar.gz cd libssh2-1.4.2 ./configure && make && make install
wget http://pecl.php.net/get/ssh2-0.11.3.tgz cd ssh2-0.11.3 phpize (如果报错命令没有找到,apt-get install php5-dev) ./configure —with-ssh2 && make && make install
cd /etc/php5/cgi vim php.ini
cd /etc/php5/cli vim php.ini
/etc/init.d/lighttpd restart
[root@localhost ~]php -m | grep s
public function actionTestServer() { //登陆linux的ssh2用户名 $ssh_user='root'; //登陆linux的密码 $ssh_pwd=''; //默认端口号22 $ssh_port='22'; //服务器IP地址 $ssh_host='120.77.62.13'; //先测试拓展是否安装并开启 if(!function_exists("ssh2_connect")){ exit('SSH扩展没有安装或者没有安装成功'); } //建立ssh2连接 $ssh2 = ssh2_connect($ssh_host, $ssh_port); if(!$ssh2){ exit('连接服务器失败'); }else{ echo '成功连接上了服务器'; } //连接成功后进行密码验证,没验证无法进行其他操作。 if(!ssh2_auth_password( $ssh2, $ssh_user, $ssh_pwd )){ return false; } //shell脚本语句 $e="/etc/init.d/nginx restart >> /tmp/nginx_restart_".date('Ymd').".log"; //通过ssh2_exec执行语句 ssh2_exec($ssh2, $e); }
以上是php連接伺服器進行伺服器命令操作的詳細內容。更多資訊請關注PHP中文網其他相關文章!