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安装成功后回在当前目录下的 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