php ssh的扩展安装
来源:原创
时间:2020-09-11
作者:脚本小站
分类:PHP
官方文档:
https://www.php.net/manual/zh/book.ssh2.php
第三方扩展库需要自己安装:
官方文档:
https://www.php.net/manual/zh/ssh2.installation.php
安装OpenSSL:
yum install -y openssl openssl-devel
编译安装 libssh2:
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.tgz tar xvf ssh2-0.13.tgz cd ssh2-0.13 phpize #没有的话 yum install php-devel ubuntu apt-get install php7.0-dev ./configure --prefix=/usr/local/ssh2 --with-ssh2=/usr/local/libssh2 make make install
修改配置:
vim /etc/php.ini extension=ssh2.so
查看php是否已经包含ssh2模块:
php -m | grep ssh2 ssh2
或者使用pecl安装:
使用示例:更多示例详见官方文档。
<?php $conn = ssh2_connect($host,22); if(!ssh2_auth_password($conn,"root",$password)){ die('Authentication Failed...'); } $stream = ssh2_exec($conn , "ls -al"); $errorStream = ssh2_fetch_stream($stream,SSH2_STREAM_STDERR); stream_set_blocking($stream, true); stream_set_blocking($errorStream, true); echo stream_get_contents($stream); echo stream_get_contents($errorStream); fclose($stream); fclose($errorStream);