Пытаюсь установить ssh2 на php - PullRequest
2 голосов
/ 16 декабря 2011

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

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

Прежде всего я установил libssh2 из http://www.libssh2.org/. Запустил configure, make, make install. Я не совсем понимаю все эти вещи, но, похоже, что следование онлайн-инструкциям сработало.

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

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

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

1 Ответ

12 голосов
/ 28 февраля 2013

У меня была похожая проблема с 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
...