http.so загружен, но http_get undefined

У меня LAMP установлен в моем дистрибутиве Linux:

///

PHP 5.4.9-4ubuntu2.4 (cli) (построено: 12 декабря 2013 г. 04:29:20) Copyright (c) 1997-2012 PHP Group Zend Engine v2.4.0, Copyright (c) 1998-2012 Zend Technologies с Xdebug v2.2.1, Авторское право (c) 2002-2012, Derick Rethans

///

Чтобы использовать http_get из расширения pecl_http php, я явно установил его и добавил расширение http.so в php.ini.

Теперь я в следующем сценарии. Используя простой код php ниже:

echo var_dump(extension_loaded("http")); echo var_dump(extension_loaded("raphf")); echo var_dump(extension_loaded("propro")); echo var_dump(function_exists("http_get")); $response = http_get("www.google.com"); echo $response; 

Я получил следующие результаты:

///

 boolean true boolean true boolean true **boolean false** 

Я не уверен, почему extension_loaded («http») возвращает true, а function_exists («http_get») возвращает false, поэтому я не могу использовать функцию http_get, не получая следующее в файле журнала Apache

"[Времени 31 декабря 12:32:26 2013] [ошибка] [клиент 127.0.0.1] PHP Неустранимая ошибка: вызов неопределенной функции http_get () в /home/user/main.php в строке 32"

Не могли бы вы помочь мне устранить эту проблему?

(та же проблема с использованием интерактивного режима консоли php -a)

phpinfo () показывает:

///

HTTP

Поддержка HTTP-поддержки Extension версии 2.0.3

Используемая библиотека Скомпилированная ссылка libz 1.2.7 1.2.7 libcurl 7.29.0 7.29.0 libevent отключено отключено

Директива Local Value Master Value http.etag.mode crc32b crc32b

///

благодаря

Как говорит Майкл Берковский, ветвь 2.x совершенно новая, и она работает с другим API.

Вы можете пойти с ветвью 1.x и использовать старые функции следующим образом:

 pecl uninstal pecl_http pecl install pecl_http-1.7.6 

Затем вы можете использовать http_get

В любом случае, если это новый новый проект, рекомендуется использовать новейший API.