2011-12-16 3 views
2

Во-первых, я бегу PHP 5.3.3, CentOS 5.7 (2.6.18-274.3.1.el5xen)Попытка установить ssh2 на PHP

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

Прежде всего, я установил 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 

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

+0

Вы добавили строку в правильный PHP.ini-файл? – richsage

+0

FYI http://uk3.php.net/manual/en/ssh2.configuration.php – liquorvicar

+1

Я действительно богатый. Если бы я этого не сделал, он не пытался загрузить расширение и не было бы ошибки! :) – Codemonkey

ответ

12

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

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, проверьте последнее here):

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 
Смежные вопросы