安裝PHP SSH2擴充套件
### ubuntu安裝php連結伺服器需要php擴充套件:
sudo apt-get install libssh2-1 php-ssh2
在Windows環境下安裝
下載 php extension ssh2下載地址 http://windows.php.net/downloads/pecl/releases/ssh2/0.12/
根據自己PHP的版本去下載,我使用的WAMPSERVER2.5(64bit),PHP版本為5.5.12,是執行緒安全的,
所以下載的是php_ssh2-0.12-5.5-ts-vc11-x64.zip
1、解壓完後,會有三個檔案,libssh2.dll、php_ssh.dll、php_ssh2.pdb。
2、將 php_ssh.dll、php_ssh2.pdb 放到你的 php 擴充套件目錄下 php/ext/ 下。
3、將libssh2.dll 複製到 c:/windows/system32 和 c:/windows/syswow64 各一份
4、php.ini中加入 extension=php_ssh2.dll
5、重新啟動apache,即可使用php執行ssh連線操作了。
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
安裝PECL/ssh2
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
修改php設定資訊
cd /etc/php5/cgi vim php.ini
新增項:extension=/usr/lib/php5/20090626/ssh2.so
ssh2.so是編譯ssh2時得到的模組,上面是模組的位置。
cd /etc/php5/cli vim php.ini
新增項:extension=/usr/lib/php5/20090626/ssh2.so
ssh2.so是編譯ssh2時得到的模組,上面是模組的位置。
重新啟動web伺服器
/etc/init.d/lighttpd restart
檢視是否載入了ssh2
[[email protected] ~]php -m | grep s
php程式碼使用
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連線伺服器進行伺服器命令操作的詳細內容,更多請關注TW511.COM其它相關文章!