PHP教程

php scp跨服器拷贝文件到sftp

本文主要是介绍php scp跨服器拷贝文件到sftp,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

一般要装php的ssh2扩展,比较麻烦。所以转念一想,为什么不用我们经常用的scp。但是scp跨服务器拷贝需要输入密码,这里就用到了一个工具试试sshpass,可以指定密码。

1、工具安装

ubuntu安装:

sudo apt-get install sshpass

mac安装:

试了brew一直报错,这里用源码安装。

下载:

wget http://sourceforge.net/projects/sshpass/files/sshpass/1.05/sshpass-1.05.tar.gz 

解压:

tar xvzf sshpass-1.05.tar.gz

进入安装包:

cd sshpass-1.05

编译安装:

./configure
make&&make install

装完之后通过which sshpass找到路径

我这边路径是:/usr/local/bin/sshpass

配置完成之后就可以在php代码里面使用

exec('/usr/local/bin/sshpass -p your_password scp /deployment/1.txt your_name@your_host:your_path/1.txt');

注意这边的路径一定要用绝对路径,相对路径会报错。

对了还有密码不要放在代码里面,如果是laravel框架的话,要放在env中。

这篇关于php scp跨服器拷贝文件到sftp的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!