ubuntu 环境下安装php的ssh2扩展
最近由于在开发PHP的项目中需要通过php 调用ssh 远程做一些事情,还好php有个ssh2的函数,挺方便,不过PHP默认是不支持SSH2扩展的,需要自己安装。网上搜了一下,很多地方都写着ubuntu环境下,安装PHP的SSH2扩展只需要一条命令就完事了:apt-get install libssh2 .....然而装完测试访问的结果却是这样:
Call to undefined function ssh2_connect()
i have installed the SSH2 PECL extension and it working fine thanks all for you help
这说明SSH2的扩展并没有安装成功,于是自己编译安装了一下,解决了这个问题:
# wget http://pecl.php.net/get/ssh2-0.11.3.tgz
# tar zxvf ssh2-0.11.3.tgz
# cdssh2-0.11.3
# ls
config.m4 LICENSE php_ssh2.h ssh2.c ssh2_fopen_wrappers.c ssh2_sftp.c
# /usr/local/php/bin/php //安装php的路径
php php-config phpize
# /usr/local/php5/bin/phpize
Configuring for:
PHP Api Version: 20041225
Zend Module Api No: 20060613
Zend Extension Api No: 220060519
# ls
acinclude.m4 build config.m4 configure.in ltmain.sh mkinstalldirs ssh2.c
aclocal.m4 config.guess config.sub install-sh Makefile.global php_ssh2.h ssh2_fopen_wrappers.c
autom4te.cache config.h.in configure LICENSE missing run-tests.php ssh2_sftp.c
# ./configure --with-php-config=/usr/local/php/bin/php-config
# make && make install
#在php.ini 中添加这一行
# vi /usr/local/php5/php.ini
extension=/usr/local/php5/lib/php/extensions/no-debug-non-zts-20060613/ssh2.so
#no-debug-non-zts-20060613 这个不一定跟我的一样,需要根据自己的实际环境修改
#重启apache服务
# /usr/local/apache2/bin/apachectl restart
上传文件到远程主机
从远程主机下载文件
页:
[1]