Попытка установить ssh2 на php

Во-первых, я запускаю PHP 5.3.3, CentOS 5.7 (2.6.18-274.3.1.el5xen)

Во-вторых, я вообще понятия не имею, что я делаю … извините!

Прежде всего, я установил libssh2 из http://www.libssh2.org/ . Ran настроить, сделать, сделать установку. Не совсем понимаю все это, но, похоже, работали онлайн-инструкции.

Затем побежал

pecl install ssh2 

Все идет нормально.

Добавлена ​​соответствующая линия расширения для php.ini, как указано. Перезапущенный апач:

 service httpd restart 

Все хорошо.

Но тогда не могу найти ссылку на ssh в phpInfo ().

Пытался

 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 

Что я сделал неправильно или пропустил, и как я могу это исправить?

У меня была аналогичная проблема с CentOs 6.3, и я последовал этому руководству по-другому.

1) Установите необходимые пакеты:

 yum install automake make php-devel libtool openssl-devel gcc++ gcc 

2) Сменить каталог ( /usr/lib/php если у вас 32-разрядная ОС):

 cd /usr/lib64/php 

3) Загрузите источник (последний по состоянию на 2013/02/28, проверьте последние здесь ):

 wget http://pecl.php.net/get/ssh2-0.12.tgz 

4) Создайте каталог сборки (мне не нравится беспорядок в моей системе) и распакуйте пакет:

 mkdir build-dir mv ssh2-0.12.tgz build-dir cd build-dir tar xzvf ssh2-0.12.tgz 

5) Подготовьте этап компиляции и скомпилируйте:

 phpize ./configure –with-ssh2 make 

6) Скопируйте модуль в систему ( /usr/lib/php/modules/ssh2.so если у вас 32-разрядная ОС):

 cp modules/ssh2.so /usr/lib64/php/modules/ssh2.so 

7) Измените конфигурацию и добавьте эту строку в /etc/php.d/ssh2.ini (хотя мне не нужно было это делать при настройке, возможно, потому, что я уже делал это в прошлом):

 extension=ssh2.so 

8) Если вы хотите, вы можете удалить каталог сборки:

 cd ../../ rm -f build-dir