程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> php中ssh2擴展安裝詳解

php中ssh2擴展安裝詳解

編輯:關於PHP編程

1、有三台服務器,操作系統分別為:10.1 10.2 11.2三個不同版本,發現11.2不需要安裝,已經擁有些擴展了。如果你沒有安裝,可能很方便的通過yast安裝完成。

在10.1服務器上測試,因為安裝ssh2-0.11.0.tgz之前,需要安裝libssh,所以就到官網下載。下載了N多個版本。都不行。都是在make時出錯。

都不想去查找原因了,因為這種情況,可能是多方面的。

又換服務器,10.2,當償試到libssh2-0.18的時間,居然成功了。

 好了,接下來,就應該編譯ssh2-0.11.0.tgz了,呵呵,還比較順利。居然成功了。

 現在,把自己的操作流程記錄下來,以免以後自己忘記了,還可以再看這個文檔。呵呵。

 需要兩個軟件包:

ssh2-0.11.0.tgz 下載地址:http://pecl.php.net/package/ssh2

libssh2-0.18.tar.gz 下載地址:http://sourceforge.net/projects/libssh2/files/

 先安裝,libssh2-0.18.tar.gz

步驟簡單:

tar zxvf libssh2-0.18.tar.gz

cd libssh2-0.18

./configure

make && make install

等待一會兒吧。

不出意外,應該就成功了。

 接下來,安裝ssh2-0.11.0.tgz

 tar zxvf ssh2-0.11.0.tgz

cd ssh2-0.11.0

 phpize
./configure --with-ssh2
make
完成之後,會在當前目錄中的modules目錄中生成你所需要的ssh2.so文件

 下面配置,讓apache認識它了。

 這個復制到你的.so文件的地方就行了,不過這個地方要注意,不同版本,so文件存放的位置有點差別。

 我的是默認路徑:

/usr/lib/php5/extensions/

cp ssh2.so /usr/lib/php5/extensions/

還有個,就是添加配置文件,

/etc/php5/conf.d/目錄中復制一個ssh2.ini文件

cp mysql.ini ssh2.ini

編輯ssh2.ini,將其中內容修改為:

extension=ssh2.so

 好了,現在重新啟動apapche

apache2ctl -k restart

 用這個命令php -i|grep ssh2

不出意外,將看到相關信息

 /etc/php5/conf.d/ssh2.ini,
Registered PHP Streams => php, file, data, http, ftp, https, ftps, ssh2.shell, ssh2.exec, ssh2.tunnel, ssh2.scp, ssh2.sftp, zip, compress.zlib
ssh2
libssh2 version => 0.18
banner => SSH-2.0-libssh2_0.18
PWD => /srv/www/vwokan/wokan2.0/ssh2-0.11.0
_SERVER["PWD"] => /srv/www/vwokan/wokan2.0/ssh2-0.11.0

 呵呵,這個信息表示已經成功了。

 下面接下來,就是用php去執行ssh2擴展命令了。

 <?php
$connection = ssh2_connect("172.16.18.252",22);
if (ssh2_auth_password($connection,"root","123456")) {
      echo "Authentication Successful! ";
} else {
      die(Authentication Failed...);
}

 ?>

 不出意外,你將看到“Authentication Successful”信息。

 呵呵,我就出現了,意外,查詢了一下。每次都是出現如下提示:

 Authentication Failed...

 用戶名,密碼,這些都沒有錯誤啊。

 最後,檢查了一下,本機ssh的配置

vi /etc/ssh/sshd_config

發現在:

PasswordAuthentication no

 呵呵,修改成:

PasswordAuthentication yes

保存,重新啟動ssh

/etc/init.d/sshd restart

 呵呵,居然通過了。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved