it-swarm.com.ru

Ubuntu pecl установить pecl_http не удалось

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

  • libcurl3-OpenSSL-DEV
  • pHP-клиент
  • libpcre3-DEV
  • libcurl3
  • pHP-груша
  • 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.ini Я добавил строку:

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

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

16
Gare88

Вам нужно установить php-raphf из вашего менеджера пакетов.

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

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

Вам нужно будет добавить extension = http.so в ваш файл php.ini. Но похоже, что вы уже сделали это.

на самом деле pecl не устанавливает .so файл, который вы ищете.

9
mschuett

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

8
coviex

На 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/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
6
Krizhanovskiy Vlad

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

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.

5
Kruunch Arz

Команда запуска  

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

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

  3. и т.д./phph5/apache2/conf.d

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

  • raphf.ini

добавить контент  

расширение = raphf.so

solr.ini

добавить контент 

расширение = raphf.so

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

расширение = http.so расширение = propro.so расширение = raphf.so или же расширение =/USR/Lib/php5/20121212/raphf.so расширение = solr.so

0
Rahul Yadav

Я сталкиваюсь с этой проблемой, пытаясь установить 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 для этих команд.

Аналогично для пропро-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 не установлены.

0
ivan.sim