Ⅰ 涓轟粈涔坙ibssh2搴撶殑libssh2_sftp_read鍑芥暟姣忔℃渶澶氬彧鑳借誨彇鍒2000涓瀛楃︼紵
榪欐槸榪欎釜搴撶殑闄愬埗錛岀湅鏈変釜閭浠跺垪琛ㄤ腑璇村ソ鍍忓拰ssh鍗忚鏈夊叧錛屼絾榪欎笉鏄浣滆呯殑鍥炲嶃備綘寰鐜璇誨氨琛屼簡錛岀敤闈為樆濉炴ā寮忥紝娌℃湁鍏跺畠鍔炴硶銆
Ⅱ 檢查使用php SSH2遠程目錄問題,怎麼解決
為PHP安裝SSH2擴展需要兩個軟體包,libssh2和ssh2。兩者的最新版本分別為1.4.2和0.12,下載地址分別為http://www.libssh2.org/download/和http://pecl.php.net/package/ssh2。這里我們可以均下載最新版本,libssh2的源碼包為libssh2-1.4.2.tar.gz,ssh2的源碼包為ssh2-0.12.tgz。
其次,解壓並安裝libssh2和ssh2。其中,libssh2需要先安裝,ssh2後安裝。安裝步驟如下:
# tar -zxvf libssh2-1.4.2.tar.gz
# cd libssh2-1.4.2
# ./configure --prefix=/usr/local/libssh2
# make && make install
以上為安裝libssh2,這里需要記住libssh2的安裝目錄,因為在安裝ssh2的時候還會用到。
# tar -zxvf ssh2-0.12.tgz
# cd ssh2-0.12
# phpize
# ./configure --prefix=/usr/local/ssh2 --with-ssh2=/usr/local/libssh2
# make
執行完以上過程後,在當前目錄下的moles目錄下會生成一個ssh2.so文件,這就是擴展PHP所需要的,將該文件拷貝到PHP庫的存儲目錄下在修改PHP的配置文件即可。
# cp moles/ssh2.so /usr/lib64/php/moles/
註:PHP庫的存儲目錄可能因系統而異,本博主的機器上是/usr/lib64/php/moles/
# vi /etc/php.ini
# 向該文件中添加內容:extension=ssh2.so
此時為PHP擴展SSH2就已經完成了,為了驗證是否安裝成功,我們可以通過執行一下命令來驗證。
# php -i|grep ssh2
Registered PHP Streams => php, file, http, ftp, compress.bzip2, compress.zlib, https, ftps, ssh2.shell, ssh2.exec, ssh2.tunnel, ssh2.scp, ssh2.sftp
ssh2
libssh2 version => 1.4.2
banner => SSH-2.0-libssh2_1.4.2
最後,我們再通過一個簡單的PHP程序來試用SSH2,該程序首先連接遠程伺服器,然後執行相關操作,最後讀取操作執行的返回結果,具體例子代碼如下。
<?php
$user="user";
$pass="password";
$connection=ssh2_connect('202.112.113.250',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));
?>