php开发环境ssh2扩展安装
Win环境下配置php ssh2扩展(需php5.3及以上版本,不支持5.2版本,网上没找到相关资料)
1. 下载 php extension ssh2
下载地址 http://windows.php.net/downloads/pecl/releases/ssh2/0.12/
根据自己PHP的版本去下载,我使用的是线程安全的,所以下载的是php_ssh2-0.12-5.4-ts-vc9-x86.zip
2. 解压完后,会有三个文件,libssh2.dll、php_ssh.dll、php_ssh2.pdb。
3. 将 php_ssh.dll、php_ssh2.pdb 放到你的 php 扩展目录下 php/ext/ 下。
4. 将libssh2.dll 复制到 c:/windows/system32 和 c:/windows/syswow64 各一份
5. php.ini中加入 extension=php_ssh2.dll
6. 重启apache,即可使用php执行ssh连接操作了。
查看phpinfo(),是否有显示php_ssh2扩展加载成功,如下图所示。
Linux下php扩展ssh2的安装
1.下载libssh2和ssh2(可先进入到/usr/local/目录)
wget http://www.libssh2.org/download/libssh2-1.4.2.tar.gz
wget http://pecl.php.net/get/ssh2-0.12.tgz
先安装 libssh2 再安装 SSh2
2.解压libssh2并进入目录,进行配置和编译
# tar -zxvf libssh2-1.4.2.tar.gz
# cd libssh2-1.4.2
# ./configure --prefix=/usr/local/libssh2
# make && make install
3.以上为安装libssh2,这里需要记住libssh2的安装目录,因为在安装ssh2的时候还会用到,接下来安装ssh2。
# tar -zxvf ssh2-0.12.tgz
# cd ssh2-0.12
# phpize
# ./configure --prefix=/usr/local/ssh2 --with-ssh2=/usr/local/libssh2 --with-php-config=/server/abchosting/php/bin/php-config(此处为自身环境下php配置文件,可通过find / -name php-config 进行查找)
# make && make install
php.ini配置文件增加extension=ssh2.so
/server/abchosting/php/etc/php.ini
安装完成之后SSH2扩展在 /server/abchosting/php/etc/php.ini中加入
extension=ssh2.so
重启web服务
service httpd restart
4.sftp的简单使用
<?php
$user="root";//远程用户名
$pass="123456";//远程密码
$connection=ssh2_connect('192.168.1.46',22);
ssh2_auth_password($connection,$user,$pass);
$cmd="ps aux";//命令
$ret=ssh2_exec($connection,$cmd);
stream_set_blocking($ret, true);
echo (stream_get_contents($ret));
?>