让PHP支持SSH/SSH2

5 篇文章 0 订阅
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

_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...");
}
?>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值