试图在php上安装ssh2

Cod*_*key 2 php ssh pecl

首先我运行的是PHP 5.3.3,CentOS 5.7(2.6.18-274.3.1.el5xen)

其次,我基本上不知道我在做什么......对不起!

首先,我从http://www.libssh2.org/安装了libssh2 .Ran配置,make,make install.不是真的了解所有这些东西,但遵循在线说明似乎工作.

然后跑了

pecl install ssh2
Run Code Online (Sandbox Code Playgroud)

到现在为止还挺好.

按照说明将相关的扩展行添加到php.ini.重启apache:

service httpd restart
Run Code Online (Sandbox Code Playgroud)

都好.

但是后来在phpInfo()中找不到对ssh的任何引用.

试着

php -m | grep ssh2
Run Code Online (Sandbox Code Playgroud)

并得到以下错误:

PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib64/php/modules/ssh2.so' - /usr/lib64/php/modules/ssh2.so: undefined symbol: libssh2_sftp_readdir_ex in Unknown on line 0
Run Code Online (Sandbox Code Playgroud)

我做错了什么/错过了什么,我该如何解决?

fra*_*zon 12

我在CentOs 6.3中遇到了类似的问题,我对本指南的看法略有不同.

1)安装所需的包:

yum install automake make php-devel libtool openssl-devel gcc++ gcc
Run Code Online (Sandbox Code Playgroud)

2)更改目录(/usr/lib/php如果您有32位操作系统):

cd /usr/lib64/php
Run Code Online (Sandbox Code Playgroud)

3)下载源代码(最新截至2013/02/28,请点击此处查看):

wget http://pecl.php.net/get/ssh2-0.12.tgz
Run Code Online (Sandbox Code Playgroud)

4)创建一个构建目录(我不喜欢在我的系统中乱七八糟)并解压缩包:

mkdir build-dir
mv ssh2-0.12.tgz build-dir
cd build-dir
tar xzvf ssh2-0.12.tgz
Run Code Online (Sandbox Code Playgroud)

5)准备编译步骤并编译:

phpize
./configure –with-ssh2
make
Run Code Online (Sandbox Code Playgroud)

6)复制系统中的模块(/usr/lib/php/modules/ssh2.so如果你有32位操作系统):

cp modules/ssh2.so /usr/lib64/php/modules/ssh2.so
Run Code Online (Sandbox Code Playgroud)

7)更改配置并添加此行/etc/php.d/ssh2.ini(虽然我不需要在我的设置上执行此操作,可能因为我以前已经这样做过了):

extension=ssh2.so
Run Code Online (Sandbox Code Playgroud)

8)如果需要,可以删除构建目录:

cd ../../
rm -f build-dir
Run Code Online (Sandbox Code Playgroud)