Win環境下配置php ssh2擴展(需php5.3及以上版本,不支持5.2版本,網上沒找到相關資料)
1. 下載 php extension ssh2
下載地址 http://windows.php.net/downloads/pecl/releases/ssh2/0.12/
根據自己PHP的版本去下載,我使用的是線程安全的,所以下載的是php_ssh2-0.12-5.4-ts-vc9-x86.zip
2. 解壓完后,會有三個文件,libssh2.dll、php_ssh.dll、php_ssh2.pdb。
3. 將 php_ssh.dll、php_ssh2.pdb 放到你的 php 擴展目錄下 php/ext/ 下。
4. 將libssh2.dll 復制到 c:/windows/system32 和 c:/windows/syswow64 各一份
5. php.ini中加入 extension=php_ssh2.dll
6. 重啟apache,即可使用php執行ssh連接操作了。
查看phpinfo(),是否有顯示php_ssh2擴展加載成功,如下圖所示。
Linux下php擴展ssh2的安裝
1.下載libssh2和ssh2(可先進入到/usr/local/目錄)
wget http://www.libssh2.org/download/libssh2-1.4.2.tar.gz
wget http://pecl.php.net/get/ssh2-0.12.tgz
先安裝 libssh2 再安裝 SSh2
2.解壓libssh2並進入目錄,進行配置和編譯
# tar -zxvf libssh2-1.4.2.tar.gz
# cd libssh2-1.4.2
# ./configure --prefix=/usr/local/libssh2
# make && make install
3.以上為安裝libssh2,這里需要記住libssh2的安裝目錄,因為在安裝ssh2的時候還會用到,接下來安裝ssh2。
# tar -zxvf ssh2-0.12.tgz
# cd ssh2-0.12
# phpize
# ./configure --prefix=/usr/local/ssh2 --with-ssh2=/usr/local/libssh2 --with-php-config=/server/abchosting/php/bin/php-config(此處為自身環境下php配置文件,可通過find / -name php-config 進行查找)
# make && make install
php.ini配置文件增加extension=ssh2.so
/server/abchosting/php/etc/php.ini
安裝完成之后SSH2擴展在 /server/abchosting/php/etc/php.ini中加入
extension=ssh2.so
重啟web服務
service httpd restart
4.sftp的簡單使用
<?php
$user="root";//遠程用戶名
$pass="123456";//遠程密碼
$connection=ssh2_connect('192.168.1.46',22);
ssh2_auth_password($connection,$user,$pass);
$cmd="ps aux";//命令
$ret=ssh2_exec($connection,$cmd);
stream_set_blocking($ret, true);
echo (stream_get_contents($ret));
?>