文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

linux下 php 安装 ssh2扩展 ,以及window下安装ssh2扩展

2023-09-01 09:51

关注
openssl: 加密算法集合,C语言实现libssh2:ssh2协议库库,C语言实现PECL/ssh2: libssh2的php扩展,允许php程序调用libssh2中的函数依赖关系:PECL/ssh2 –> libssh2 –> openssl

查看已安装的PHP扩展

$ php -m

1.安装 libssh2 

Index of /downloadhttps://www.libssh2.org/download/

wget http://www.libssh2.org/download/libssh2-1.4.2.tar.gz

tar -zxvf libssh2-1.4.2.tar.gz

cd libssh2-1.4.2

./configure --prefix=/usr/local/libssh2

make && make install

2.编译安装 ssh2

PECL :: Package :: ssh2https://pecl.php.net/package/ssh2

不同版本php 安装不同版本的ssh2, 否则会无法编译 make错误
php6- :   wget http://pecl.php.net/get/ssh2-0.13.tgz

或PHP7+ : wget http://pecl.php.net/get/ssh2-1.1.2.tgz


tar xvf ssh2-0.13.tgz  或 tar xvf  ssh2-1.1.2.tgz
cd ssh2-0.13   或 cd ssh2-1.1.2
phpize                ##没有的话yum install php-devel ubuntu apt-get install php7.0-dev

./configure --prefix=/usr/local/ssh2 --with-ssh2=/usr/local/libssh2 --with-php-config=/usr/local/php/bin/php-config  ##此处为自身环境下php配置文件,可通过find / -name php-config 进行查找
make && make install

3.复制到php的扩展目录

cp moduels/ssh2.so /usr/local/php/lib/php/extensions/no-debug-zts-20090626

4.修改 php 配置文件

  1. find / -name php.ini ##查找php.ini文件的位置

  2. echo "extension=ssh2.so" >> /usr/local/php/etc/php.ini

最后重启 php /etc/init.d/php-fpm restart

或者 systemctl restart php-fpm

5.查看是否成功

  1. # php -m | grep ssh2

  2. ssh2 ##出现这个证明成功

另一种方法安装------------------------------------------------------------------------------分割线

在 Centos 下用 yum 安装:

安装libssh2

#yum install libssh2 libssh2-devel 

安装ssh2

#pecl install ssh2      #但是默认是安装0.13版本

安装失败:

> **pecl/ssh2 requires PHP (version >= 4.0.0, version <= 6.0.0), installed version is 7.1.0**

> No valid packages found

> install failed

原因已经提示得很明显。不支持 PHP 7。

所以可以使用 1.1版本 (PECL :: Package :: ssh2

#pecl install ssh2-1.1  

终于安装成功:

> Build process completed successfully

> Installing '/usr/local/php7/lib/php/extensions/no-debug-non-zts-20160303/ssh2.so'

> install ok: channel://pecl.php.net/ssh2-1.0

> Extension ssh2 enabled in php.ini

并且提示 ssh2 已经加入到 php.ini 中。

但如果从未用 pecl 设置好 php_ini 指明 php.ini  的位置,那就会出现类似下面这样的提示,就得有时候可能要自己手动加进 php.ini

> Build process completed successfully

> Installing '/usr/local/php7/lib/php/extensions/no-debug-non-zts-20160303/ssh2.so'

> install ok: channel://pecl.php.net/ssh2-1.0

> **configuration option "php_ini" is not set to php.ini location**          #配置选项“php\u ini”未设置为php。ini位置

> You should add "extension=ssh2.so" to php.ini

可以用如下命令设置 php_ini

> [root@lnmp lnmp.cn]# pecl config-set php_ini /usr/local/php7/lib/php.ini


Windows 下 PHP安装SSH2

下载 php extension ssh2
下载地址 windows.php.net - /downloads/pecl/releases/ssh2/

根据自己PHP的版本去下载,可以看下自己的php版本,以及是32位的还是64位的,

32位的下载x86, 64位的下载x64

SSH2下面有不同的版本,PHP5+的选,0.12.  PHP7+的,选择,1.0或者1.1等等

比如我是 PHP7.0, 32位,使用的是 nts 线程安全.  就选择 

php_ssh2-1.0-7.0-nts-vc14-x86.zip​​​​​​

解压完后,会有文件,php_ssh.dll、php_ssh2.pdb。

如果你本机没有llbssh, 记得要去下载 libssh2.dll 

将 php_ssh.dll、php_ssh2.pdb 放到你的 php 扩展目录下 php/ext/ 下。

将libssh2.dll 复制到 c:/windows/system32 和 c:/windows/syswow64 各一份

php.ini中加入 extension=php_ssh2.dll

重启apache,即可使用php执行ssh连接操作了。

查看phpinfo(),是否有显示php_ssh2扩展加载成功。

PHP测试代码

代码如下:


$connection = ssh2_connect('192.168.255.128', 22);
ssh2_auth_password($connection, 'root', '123456');
ssh2_scp_send($connection, 'd:/tmp/test.txt', '/tmp/test.txt', 0644);

来源地址:https://blog.csdn.net/yule117737767/article/details/125203987

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-人工智能
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯