Ubuntu pecl установить pecl http сбой

Я пытаюсь установить это расширение, но оно терпит неудачу на этапе конфигурации. Я на Ubuntu 12.04 и я только что установил эти пакеты:

  • libcurl3-openssl-dev
  • php-http
  • libpcre3-dev
  • libcurl3
  • php-pear
  • php5-dev

версия PHP:

PHP 5.3.10-1ubuntu3.14 with Suhosin-Patch (cli) (built: Sep  4 2014 07:08:49) 
Copyright (c) 1997-2012 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2012 Zend Technologies
    with Xdebug v2.1.0, Copyright (c) 2002-2010, by Derick Rethans

вот журнал команды установки:

sudo pecl install pecl_http
downloading pecl_http-2.1.1.tgz ...
Starting to download pecl_http-2.1.1.tgz (158,441 bytes)
.................................done: 158,441 bytes
64 source files, building
running: phpize
Configuring for:
PHP Api Version:         20090626
Zend Module Api No:      20090626
Zend Extension Api No:   220090626
Enable extended HTTP support [yes] : 
where to find zlib [/usr] : 
where to find libcurl [/usr] : 
where to find libevent [/usr] : 
building in /tmp/pear/temp/pear-build-rootqE2kgU/pecl_http-2.1.1
running: /tmp/pear/temp/pecl_http/configure --with-http --with-http-zlib-dir=/usr --with-http-libcurl-dir=/usr --with-http-libevent-dir=/home/gare88/Lib/Php/libevent-2.0.21-stable/
checking for grep that handles long lines and -e... /bin/grep

[... cut...]

checking for zlib.h... found in /usr
checking for zlib version >= 1.2.0.4... 1.2.3.4
checking for curl/curl.h... found in /usr
checking for curl-config... found: /usr/bin/curl-config
checking for curl version >= 7.18.2... 7.22.0
checking for SSL support in libcurl... yes
checking for openssl support in libcurl... no
checking for gnutls support in libcurl... no
checking for ares support in libcurl... no
checking for bundled SSL CA info... /etc/ssl/certs/ca-certificates.crt
checking for event2/event.h... not found
configure: WARNING: continuing without libevent support
checking for ext/raphf support... no
configure: error: Please install pecl/raphf and activate extension=raphf.so in your php.ini
ERROR: `/tmp/pear/temp/pecl_http/configure --with-http --with-http-zlib-dir=/usr --with-http-libcurl-dir=/usr --with-http-libevent-dir=/usr' failed

кажется, что это проблема с pecl/raphf так я пробовал:

sudo pecl install raphf
pecl/raphf is already installed and is the same as the released version 1.0.4
install failed

в конце php.ini файл находится на /etc/php5/apache2 / php.Ини Я добавил строку:

extension=raphf.so
extension=propro.so
extension=http.so

что-нибудь еще я могу попробовать?

6 ответов


вам необходимо установить php-raphf из диспетчера пакетов.

для меня я установил модуль, используя следующие. В вашем случае вы должны иметь возможность переключиться на Yum для apt-get.

sudo yum install php-raphf
sudo yum install php-propro
sudo pecl install pecl_http

вы должны добавить расширение = НТТР.так в PHP.ini-файл. Но, похоже, вы уже это сделали.

pecl фактически не устанавливает .Итак, файл, который вы ищете.


если у вас есть ubuntu 13 или 14, попробуйте pecl install pecl_http-1.7.6 новых версий все равно не загружается почему-то.


на Ubuntu 12.04.5 LTS это сработало для меня:

Сначала установите некоторые предварительные условия, необходимые для компиляции:

sudo apt-get install php-http
sudo apt-get install php5-dev
sudo apt-get install libcurl3
sudo apt-get install libpcre3-dev
sudo apt-get install libcurl4-openssl-dev
sudo pecl install raphf 
sudo pecl install pecl_http-1.7.6

после этого перейдите в папку /usr/lib/php5/modules и проверьте, есть ли библиотеки:raphf.so, propro.so и http.so.

если php.ini (at /etc/php5/apache2/php.ini и /etc/php5/cli/php.ini) не содержит этих расширений, добавьте их:

extension=http.so
extension=propro.so
extension=raphf.so

или, используя абсолютный путь к файлам, например,extension=/usr/lib/php5/modules/http.so.

и как последний шаг перезапустите веб-сервер, загрузив новую конфигурацию:

sudo service apache2 reload

просто чтобы добавить к ответу @mschuett, я обнаружил, что когда я получил ту же ошибку, что и OP, которая изменила мою ссылку на расширение в php.Ини сделал трюк.

extension=raphf.so

до

extension=/usr/lib/php5/20121212/raphf.so

затем

sudo pecl install pecl_http

также установка следующего не позволит вам вручную редактировать php.ini-файл, Когда установка pecl хочет изменить его:

pear config-set php_ini /etc/php5/apache2/php.ini
pecl config-set php_ini /etc/php5/apache2/php.ini

Примечание: это сработало для Ubuntu 14.04 LTS.


выполнить команду

  1. sudo yum установить php-raphf

    • sudo yum установить php-propro
  2. sudo pecl установить pecl_http

  3. etc/phph5/apache2 / conf.d

добавить два файла

  • raphf.ini

добавить содержимое

расширения=raphf.так

solr.ini

добавить содержимое

расширения=raphf.так

добавить в php.ini-файл

расширение=http.Итак, расширение=propro.так что ... расширение=raphf.так или расширение=/УСР/Либ/в php5/20121212/raphf.так расширение=solr.так что


я сталкиваюсь с этой проблемой при попытке установить pecl_http-2.6.0, raphf-1.1.2 и propro-1.0.2 на Ubuntu 16.04 и php-fpm5.6. Я не могу использовать apt установить raphf и propro (как предложил @mschuett), потому что apt можно установить только raphf 2.0.0 и propro 2.1.0, который работает только для PHP 7.

я решаю проблему с помощью следующих шагов без необходимости обновления php.ini или с помощью apt.

прежде всего, чтобы получить php-fpm для загрузки нового расширения, -. ini-файл должен быть добавлен к /etc/php/5.6/mods-available. Тогда используйте phpenmod включить расширение.

Итак, чтобы установить и включить raphf-1.1.2,

$ pecl install raphf-1.1.2
$ echo "extension=raphf.so" >> /etc/php/5.6/mods-available
$ phpenmod raphf

обратите внимание, что вам может понадобиться sudo для этих команд.

аналогично, для propro-1.0.2

$ pecl install raphf-1.0.2
$ echo "extension=raphf.so" >> /etc/php/5.6/mods-available
$ phpenmod raphf

если вы используете php -m чтобы просмотреть все загруженные расширения, вы должны увидеть raphf и propro в списке.

теперь вы можете установить pecl_http-2.6.0 с

$ pecl install pecl_http-2.6.0

в установка должна завершиться успешно.

$ pecl list
Installed packages, channel pecl.php.net:
=========================================
Package   Version State
pecl_http 2.6.0   stable
propro    1.0.2   stable
raphf     1.1.2   stable

если вы используете pecl как и я, вы можете увидеть предупреждение, такое как:

install ok: channel://pecl.php.net/pecl_http-2.6.0
configuration option "php_ini" is not set to php.ini location
You should add "extension=http.so" to php.ini

что происходит, потому что php_ini конфигурация моего pear и pecl не установлено.