php не может загрузить расширение pecl http

Я установил pecl_http на сервер PLESK (кажется, успешно), но по какой-то причине расширение http не загружается в PHP.

var_dump(extension_loaded("http"));

дает мне bool(false).

pecl info pecl_http дает мне много информации, и если я запускаю php -me, также отображается http.

php -я | grep "http_request" дает мне:

http_request => N/A => 0 => 0
http_request_datashare => GLOBAL => 1 => 0
http_request_pool => N/A  => 0 => 0

и если я запускаю pecl run-tests -p pecl_http, я получаю много FAIL

и я тоже получаю

Fatal error: Call to undefined function http_get()

http.so находится внутри /usr/lib/php/modules/, который также определяется как каталог расширения в php.ini — все остальные расширения загружаются нормально.

Что я пропустил?


person Morten Hagh    schedule 25.02.2013    source источник
comment
Какие версии Plesk, ОС и PHP установлены на вашем сервере?   -  person Oleg Neumyvakin    schedule 25.02.2013
comment
ОС — Linux 2.6.32-042stab072.10, PLESK — 10.4.4 Update #47, PHP — 5.3.21.   -  person Morten Hagh    schedule 25.02.2013
comment
а какое у вас название дистрибутива linux и версия?   -  person Oleg Neumyvakin    schedule 26.02.2013
comment
Я собрал pecl_http и добавил extension=http.so в /etc/php.d/http.ini. И вроде все нормально php -r 'var_dump(extension_loaded(http));' возвращает логическое значение (истина). Существует ли этот файл на вашем сервере? (lib64 - потому что у меня Centos 5.9 x64)   -  person Oleg Neumyvakin    schedule 01.03.2013
comment
Что произойдет, если изменить enable_dl = Off на enable_dl = On в php.ini и запустить php -r dl('http.so'); ?   -  person Oleg Neumyvakin    schedule 01.03.2013
comment
Ви... Сработало! Спасибо за помощь! Вы опубликуете ответ?   -  person Morten Hagh    schedule 04.03.2013


Ответы (1)


Что произойдет, если изменить

enable_dl = Off 

to

enable_dl = On 

в php.ini и запустите

php -r "dl('http.so');" 

?

person Oleg Neumyvakin    schedule 04.03.2013
comment
У меня именно эта проблема в CentOS, я выполнил все приведенные выше инструкции и php -r dl('http.so'); возвращает это предупреждение PHP: запуск PHP: невозможно загрузить динамическую библиотеку '/usr/lib64/php/modules/http.so' - /usr/lib64/php/modules/http.so: неопределенный символ: php_json_decode in Unknow n on line 0 Кроме того, php -me не включает http. - person guyfromfl; 13.01.2014
comment
Ваша проблема не связана с этим вопросом. Пакет php-json установлен на сервере? (rpm -qa | grep -e php.*json) - person Oleg Neumyvakin; 13.01.2014