У меня 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.