前言:需要从其他服务器通过sftp下载到我方的服务器中,在执行的时候,php ssh2_connect()函数报错是未定义的,原因是SSH扩展没有安装
楼主php版本7.1.16
1.、首先要安装 libssh2
wget --no-check-certificate https://www.libssh2.org/download/libssh2-1.2.tar.gz (https方式记得加上--no-check-certificate)
tar -zxvf libssh2-1.2.tar.gz
cd libssh2-1.2
./configure --prefix=/usr/work/tool/libssh2
make && make install 安装即可
2、安装ssh2
wget http://pecl.php.net/get/ssh2-1.1.2.tgz
tar -xvf ssh2-1.1.2.tgz
cd ssh2-1.1.2
phpize
./configure --prefix=/usr/work/tool/ssh2 --with-ssh2=/usr/work/tool/libssh2 --with-php-config=/usr/work/tool/php/bin/php-config
make && make install
3、启用扩展
修改php.ini 添加 extension=ssh2.so并重启php
4、确认启用
php -m | grep 'ssh2'