php ubuntu pecl

php - Ubuntu pecl install pecl_http fail



(6)

Estoy intentando instalar esta extensión pero falla en la fase de configuración. Estoy en Ubuntu 12.04 y acabo de instalar estos paquetes:

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

Versión de 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

Aquí está el registro del comando de instalación:

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

Parece que es un problema con pecl / raphf así que lo intenté:

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

Al final del archivo php.ini ubicado en /etc/php5/apache2/php.ini agregué la línea:

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

¿Hay algo más que pueda probar?


En Ubuntu 12.04.5 LTS esto funcionó para mí:

Primero instale algunos requisitos previos necesarios para la compilación:

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

después de eso vaya a la carpeta /usr/lib/php5/modules y compruebe si las bibliotecas están allí: raphf.so , propro.so y http.so

Si su php.ini (en /etc/php5/apache2/php.ini y /etc/php5/cli/php.ini ) no contiene estas extensiones, agréguelas:

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

o usando la ruta de acceso absoluta a los archivos, por ejemplo, extension=/usr/lib/php5/modules/http.so

Y como último paso reinicie su servidor web, cargando así la nueva configuración:

sudo service apache2 reload


Me topé con este problema al intentar instalar pecl_http-2.6.0, raphf-1.1.2 y propro-1.0.2 en Ubuntu 16.04 y php-fpm5.6. No puedo usar apt para instalar raphf y propro (como sugirió @mschuett) porque apt solo puede instalar raphf 2.0.0 y propro 2.1.0 que solo funciona para PHP 7.

Resuelvo el problema con los siguientes pasos sin necesidad de actualizar el php.ini ni usar apt .

En primer lugar, para que php-fpm cargue una nueva extensión, se debe agregar un archivo .ini a /etc/php/5.6/mods-available . Luego usa phpenmod para habilitar la extensión.

Así que para instalar y habilitar raphf-1.1.2,

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

Tenga en cuenta que puede necesitar sudo para estos comandos.

Del mismo modo, para propro-1.0.2.

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

Si usa php -m para ver todas las extensiones cargadas, debería ver raphf y propro en la lista.

Ahora puedes instalar pecl_http-2.6.0 con

$ pecl install pecl_http-2.6.0

La instalación debe completarse con éxito.

$ 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

Si está utilizando pecl como yo, es posible que vea advertencias como:

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

lo que sucede porque la configuración php_ini de mi pear y pecl no están establecidas.


Necesitas instalar php-raphf desde tu administrador de paquetes.

Para mi instalé el módulo usando lo siguiente. En su caso, debería poder cambiar yum por apt-get.

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

Deberá agregar extension = http.so a su archivo php.ini. Pero parece que ya lo has hecho.

pecl no instala realmente el archivo .so que está buscando.


Si tiene ubuntu 13 o 14, intente pecl install pecl_http-1.7.6 ya que las versiones más recientes aún no se cargan por algún motivo.


Solo para agregar a la respuesta de @ mschuett, descubrí que cuando recibí el mismo error que el OP, el hecho de cambiar la referencia de mi extensión en php.ini hizo el truco.

extension=raphf.so

a

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

entonces

sudo pecl install pecl_http

Además, configurar lo siguiente evitará que tengas que editar manualmente el archivo php.ini cuando una instalación de pecl quiera modificarlo:

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

NOTA: Esto funcionó para Ubuntu 14.04 LTS.


ejecutar comando

  1. sudo yum instalar php-raphf

    • sudo yum instalar php-propro
  2. sudo pecl install pecl_http

  3. etc / phph5 / apache2 / conf.d

agregar dos archivos

  • raphf.ini

agregar contenido

extensión = raphf.so

solr.ini

agregar contenido

extensión = raphf.so

agregar en el archivo php.ini

extensión = http.so extensión = propro.so extensión = raphf.so o extensión = / usr / lib / php5 / 20121212 / raphf.so extensión = solr.so