1. 安装libssh2库
yum install libssh2 libssh2-devel
2. 下载PECL的SSH2支持代码包(beta版本有bug,需patch)
wget http://pecl.php.net/get/ssh2-0.11.3.tgz
tar xvzf ssh2-0.11.3.tgz
cd ssh2-0.11.3
3. 开始编译
phpize
./configure --with-ssh2
make
4. 加入ssh2扩展到php
cp modules/ssh2.so /usr/lib/php/modules
注意64位系统上是 /usr/lib64
vi php.ini
加入extension=ssh2.so
5. 确认是否已加载
php -i|grep 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 => 0.17
banner => SSH-2.0-libssh2_0.17
PWD => /root/ssh2-0.10
_SERVER["PWD"] => /root/ssh2-0.10
yum install libssh2 libssh2-devel
2. 下载PECL的SSH2支持代码包(beta版本有bug,需patch)
wget http://pecl.php.net/get/ssh2-0.11.3.tgz
tar xvzf ssh2-0.11.3.tgz
cd ssh2-0.11.3
3. 开始编译
phpize
./configure --with-ssh2
make
4. 加入ssh2扩展到php
cp modules/ssh2.so /usr/lib/php/modules
注意64位系统上是 /usr/lib64
vi php.ini
加入extension=ssh2.so
5. 确认是否已加载
php -i|grep 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 => 0.17
banner => SSH-2.0-libssh2_0.17
PWD => /root/ssh2-0.10
_SERVER["PWD"] => /root/ssh2-0.10
_ENV["PWD"] => /root/ssh2-0.10
参考-----------------------------------------------------------------------------------------------------------------------------
下载以下两个软件包:
http://pecl.php.net/get/ssh2-0.11.3.tgz
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
tar zxf ssh2-0.11.3.tgz
cd ssh2-0.11.3
phpize
./configure --with-ssh2 && make
编译完成后,在当前目录下的modules目录中生成ssh2.so文件,将这个文件复制到php的modules目录中(如果不知道这个目录的位置,可根据php.ini中的extension_dir定义查看)。
cp ssh2.so /usr/lib64/php/modules/
编辑/etc/php.ini 加入代码:
vim /etc/php.ini
extension=ssh2.so
重启apache服务
/etc/init.d/httpd restart
查看是否加载了ssh2
[root@localhost ~]# php -m | grep ssh2
ssh2
通过以下php代码测试:
<?php
$connection = ssh2_connect("192.168.209.250",22);
if (ssh2_auth_password($connection,"root","redhat"))
{
echo "Authentication Successful! ";
}
else
{
die("Authentication Failed...");
}
?>