Назад | Перейти на главную страницу

Amazon Linux pecl_http установлен, но не предоставляет функций

Я установил PHP pecl_http расширение с помощью Amazon Linux php54-pecl-http Пакет Yum.

Однако, когда я пытаюсь использовать любую из его функций - new HttpRequest(), http_build_url()и т.д. - они возвращаются как несуществующие. Я запускаю все через CLI (это служебный сервер), поэтому нет шансов php.ini файлы между средами.

php -iВ блоке http говорится:

http

HTTP Support => enabled
Extension Version => 2.0.0beta1

Used Library => Compiled => Linked
libz => 1.2.5 => 1.2.5
libcurl => 7.24.0 => 7.24.0
libevent => 1.4 or greater => 2.0.18-stable
libserf => disabled => disabled

                            Persistent Handles                            
Provider => Ident => Used => Free
http_client.curl => N/A => 0 => 0
http_client_pool.curl => N/A => 0 => 0
http_client_datashare.curl => N/A => 0 => 0

Directive => Local Value => Master Value
http.etag.mode => crc32b => crc32b
http.persistent_handle.limit => -1 => -1

Кто-нибудь испытал это? Любые идеи?

Возможно, немного поздно, но, возможно, это поможет кому-то другому приземлиться здесь ...

Убедитесь, что вы ссылаетесь на правильную версию API pecl_http. В v2 они переместились в пространства имен, поэтому соглашение о вызовах совершенно иное. Большая часть документации в Интернете ссылается на методы версии v1.

http://devel-m6w6.rhcloud.com/mdref/http

Пожалуйста попробуйте

strace -fF -o /tmp/wtf php your_php_script.php

А потом прочесать /tmp/wtf файл с вариантом текстового редактора / просмотра / grep по вашему выбору, чтобы увидеть 1) правильный php.ini был прочитан и 2) если расширение http.so было действительно загружено.