场景:php爬虫获取的数据生成文件sftp上传到线上服务器
一、windows 安装(PHP7.2)
1、先查看自己的php版本信息找到对应的ssh2扩展
ssh2扩展链接地址:https://windows.php.net/downloads/pecl/releases/ssh2/1.1.2/
2、下载、解压、把扩展文件拖到php目录的ext目录下,找到php.ini文件把扩展添加就OK啦
!!重启apache!!
查看phpinfo
二、linux安装(PHP7.3.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
$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