由于工作需要在PHP上远程操作,因此安装ssh2。
网上参考了许多博客和教程说的都很简单,经实践证明也并没有安装成功,因此自己写了本教程希望对大家有帮助。
PHP安装ssh2,顾名思义是已经安装成功了PHP,所以你先保证你的linux系统必须至少安装了LAMP。我是在redHa6.5上安装了LAMP。
在安装ssh2扩展之前需要安装libssh2(http://www.libssh2.org/download/libssh2-1.4.2.tar.gz)。
1.将下载的安装包解压:tar -xzvf libssh2-1.4.2.tar.gz。
2.进入解压目录: cd libssh2-1.4.2
3.编译./configure --prefix=/vol/usr/local/lamp/libssh2
--prefix后面跟的是libssh2的安装目录
4.make
5.make install
libssh2的安装一般不会出现问题,所以没什么要说的
接下来是正主了,安装ssh2。在安装ssh2 的时候根据网上的教程遇到了一些问题,显示了错误,经过试验最终安装成功,具体如下:
1.下载ssh2安装包(http://pecl.php.net/package/ssh2)本文用的是0.13版本,下载的是tgz格式的安装包。
2.解压安装包:tar -xzvf ssh2-0.13.tgz
3.进入解压后的目录:cd ssh2-0.13
4.执行phpize命令,这个命令是用于安装PHP扩展模块的以此生成相应的配置文件,在执行此命令时提示:一个函数功能不完整,但是不用理会。
5.执行./configure --with-php-config=/vol/usr/local/php5/bin/php-config --prefix=/vol/usr/local/lamp/ssh2 --with-ssh2=/vol/usr/local/lamp/libssh2命令,切记要将--with-php-config放在前面,否则即使编译过了,make时也会出现错误,看了其他教程有的没加这一句或者将这一句放在了后面,不知道他们是如何安装成功的。上面的--with-php-config跟的是php-config的路径,这个根据你自己的路径改,--prefix后面跟的是ssh2的安装目录,也是自定义。--with-ssh2后面跟的是libssh2的安装目录。
6. make
7. make install
8. 此时安装成功,安装成功后可以在php安装目录下no-debug-non-zts-20131226看到,我的安装目录是:/vol/usr/local/php5/lib/php/extensions/no-debug-non-zts-20131226。
9.在php.ini配置文件中添加ssh2扩展:
extension=ssh2.so
10.至此在linux下安装PHP的ssh2扩展模块完整 ,具体测试程序可以在其他博文里找到。