場景: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