windows & centos7.6下安装ssh2的php7.3扩展(不同对应版本)

场景:php爬虫获取的数据生成文件sftp上传到线上服务器

一、windows 安装(PHP7.2)

1、先查看自己的php版本信息找到对应的ssh2扩展

php版本

ssh2扩展链接地址:https://windows.php.net/downloads/pecl/releases/ssh2/1.1.2/
对应的ssh2版本
2、下载、解压、把扩展文件拖到php目录的ext目录下,找到php.ini文件把扩展添加就OK啦
扩展文件拖入ext扩展文件夹中
添加扩展
!!重启apache!!
查看phpinfo
已添加ssh2扩展

二、linux安装(PHP7.3.3)

php7.3
**去找对应版本的ssh2:https://pecl.php.net/package/ssh2 **(这个没用不是最新的!!!!)

Ps:先安装 libssh2 在安装 SS2

[root@localhost ~]# wget http://www.libssh2.org/download/libssh2-1.4.2.tar.gz
[root@localhost ~]# tar -zxvf libssh2-1.4.2.tar.gz
[root@localhost ~]# cd libssh2-1.4.2/
[root@localhost libssh2-1.4.2]# ./configure
[root@localhost libssh2-1.4.2]# make && make install

Ps:从git上那最新的源码包

[root@localhost ~]# git clone https://git.php.net/repository/pecl/networking/ssh2.git
[root@localhost ~]# cd ssh2/
[root@localhost ssh2]# **你的PHP目录**/bin/phpize
[root@localhost ssh2]# ./configure --with-php-config=**你的PHP目录**/bin/php-config
[root@localhost ssh2]# make && make install

修改php.ini文件加入

extension=ssh2.so

重启php-fpm

php -m

php -m
OK

测试一下

<?php
    $user="root";//远程用户名
    $pass="123123.";//远程密码
    $connection=ssh2_connect('192.168.0.1',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));
    echo "<br>";
    phpinfo();

完美
完成!!!

PHP sftp上传实例:https://blog.csdn.net/weixin_42260789/article/details/90755213

发布了38 篇原创文章 · 获赞 9 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/weixin_42260789/article/details/90748819