php 上传文件到其他服务器

php依赖于ssh2扩展可以实现,上传,更改,删除其他服务器文件

  • 安装ssh2依赖 libssh

      - wget https://www.libssh2.org/download/libssh2-1.8.0.tar.gz  
      - tar -xvf libssh2-1.8.0.tar.gz  
      - cd libssh2-1.8.0
      - ./configure --prefix=/usr/local/libssh2  
      - make && make install
    
  • 安装ssh2

      - wget http://pecl.php.net/get/ssh2-0.13.tgzx
      - tar xvf ssh2-0.13.tgz 
      -  cd ssh2-0.13
      - phpize
      - ./configure --prefix=/usr/local/ssh2 --with-ssh2=/usr/local/libssh2
      - make 
    
  • 移动ssh2.so

     ssh2安装成功后回在当前目录下的 modules中生成ssh2.so文件,将其拷贝到php的扩展目录中去(ps:我的扩展目录如下:/usr/local/php/lib/php/extensions/no-debug-non-zts-20121212 ) 
    
  • 修改php.ini

      方法一:echo "extension=ssh2.so" >> /etc/php.ini
      方法二:直接修改php.ini文件
      		 extension_dir = "扩展目录"
      		 extension=ssh2.so
    
  • 查看是否成功

      php -m | grep ssh2
    
  • 使用方法

      $port = "22";
      $username = "root";
      $link = ssh2_connect($host,$port);
      ssh2_auth_password($link, $username, $password);
      ssh2_scp_send($link, APP_PATH . 'extra' . DS . 'site.php',APP_PATH . 'extra' . DS . 'site.php');
      unset($link); //清除连接
      ssh2_disconnect($link)  // PHP版本需要在7 详情查看https://www.php.net/manual/zh/function.ssh2-disconnect.php 
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值