【发布时间】:2011-12-16 14:55:03
【问题描述】:
首先我运行的是 PHP 5.3.3、CentOS 5.7 (2.6.18-274.3.1.el5xen)
其次,我基本上不知道自己在做什么......对不起!
首先我从http://www.libssh2.org/ 安装了libssh2。运行配置,制作,制作安装。不是真的了解所有这些东西,但按照在线说明似乎可以工作。
然后跑了
pecl install ssh2
到目前为止一切顺利。
按照说明在 php.ini 中添加了相关的扩展行。重启apache:
service httpd restart
一切都好。
但是在 phpInfo() 中找不到任何对 ssh 的引用。
试过
php -m | grep ssh2
并得到以下错误:
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
我做错了什么/错过了什么,我该如何解决?
【问题讨论】:
-
您是否将该行添加到正确的 php.ini 文件中?
-
我发了财。如果我没有,它就不会尝试加载扩展,也不会出现错误! :)
-
我在哪里可以找到它提到@liquorvicar 的 ssh2.c 文件?当我解压 tar.gz 文件时,有一个 /test/ssh2.c 和 /example/ssh2.c?我在“配置”和“制作”之后再次检查,没有新的文件副本出现在任何地方。这些文件中的任何一个都不是目录名称,它们不包含您提供的链接中指定的行? :(
-
@Codemonkey 我不是 PECL 内部工作的专家,因为我必须安装的任何东西都是开箱即用的,但我的猜测是 PECL 带有一个 ssh2.c 文件。也许对PECL有更多了解的人可以澄清这是否属实,如果是这样,您如何下载PECL模块并在安装前更改文件。