web-dev-qa-db-fra.com

Ubuntu pecl installer pecl_http échouer

J'essaie d'installer cette extension, mais elle échoue lors de la phase de configuration. Je suis sur Ubuntu 12.04 et je viens d'installer ces paquets:

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

Version 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

Voici le journal de la commande d'installation:

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

Il semble que c'est un problème avec pecl/raphf alors j'ai essayé:

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

À la fin du fichier php.ini situé sur /etc/php5/Apache2/php.ini J'ai ajouté la ligne:

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

Y at-il autre chose que je peux essayer?

16
Gare88

Vous devez installer php-raphf à partir de votre gestionnaire de paquets.

pour moi, j'ai installé le module en utilisant ce qui suit. Dans votre cas, vous devriez pouvoir changer yum pour apt-get.

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

Il vous faudra ajouter extension = http.so à votre fichier php.ini. Mais il semble que vous ayez déjà fait cela.

pecl n'installe pas réellement le fichier .so que vous recherchez.

9
mschuett

si vous avez Ubuntu 13 ou 14, essayez pecl install pecl_http-1.7.6 car les versions plus récentes ne se chargent toujours pas pour une raison quelconque.

8
coviex

Sur Ubuntu 12.04.5 LTS, cela a fonctionné pour moi:

Commencez par installer certains prérequis nécessaires à la compilation:

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

après cela, allez dans le dossier /usr/lib/php5/modules et vérifiez si les bibliothèques sont présentes: raphf.so, propro.so et http.so.

Si votre php.ini/etc/php5/Apache2/php.ini et /etc/php5/cli/php.ini) ne contient pas ces extensions, ajoutez-les:

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

ou en utilisant le chemin absolu des fichiers, par ex. extension=/usr/lib/php5/modules/http.so.

Et comme dernière étape, redémarrez votre serveur Web, chargeant ainsi la nouvelle configuration:

Sudo service Apache2 reload
6
Krizhanovskiy Vlad

Juste pour ajouter à la réponse de @ mschuett, j’ai trouvé que, lorsque j’ai eu la même erreur que le PO, le changement de ma référence d’extension dans le fichier php.ini a été décisif.

extension=raphf.so

à

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

puis

Sudo pecl install pecl_http

De plus, les réglages suivants vous éviteront de modifier votre fichier php.ini lorsqu’une installation de pecl voudra le modifier:

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

NOTE: Cela a fonctionné pour Ubuntu 14.04 LTS.

5
Kruunch Arz

commande d'exécution  

  1. Sudo yum installe php-raphf

    • Sudo yum installe php-propro
  2. Sudo pecl installe pecl_http

  3. etc/phph5/Apache2/conf.d

ajoute deux fichier  

  • raphf.ini

ajouter du contenu  

extension = raphf.so

solr.ini

ajouter du contenu 

extension = raphf.so

ajouter dans le fichier php.ini  

extension = http.so extension = propro.so extension = raphf.so ou extension =/usr/lib/php5/20121212/raphf.so extension = solr.so

0
Rahul Yadav

Je tombe sur ce problème en essayant d'installer pecl_http-2.6.0, raphf-1.1.2 et propro-1.0.2 sur Ubuntu 16.04 et php-fpm5.6. Je ne peux pas utiliser apt pour installer raphf et propro (comme @mschuett l'a suggéré) car apt ne peut installer que raphf 2.0.0 et propro 2.1.0, qui ne fonctionnent que pour PHP 7.

Je résous le problème en procédant comme suit sans avoir besoin de mettre à jour le fichier php.ini ni d'utiliser apt.

Tout d'abord, pour que php-fpm charge une nouvelle extension, un fichier .ini doit être ajouté à /etc/php/5.6/mods-available. Utilisez ensuite phpenmod pour activer l’extension. 

Donc, pour installer et activer raphf-1.1.2,

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

Notez que vous aurez peut-être besoin de Sudo pour ces commandes.

De même, pour le propro-1.0.2

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

Si vous utilisez php -m pour afficher toutes les extensions chargées, vous devriez voir raphf et propro dans la liste.

Vous pouvez maintenant installer pecl_http-2.6.0 avec

$ pecl install pecl_http-2.6.0

L'installation devrait se terminer avec succès. 

$ 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 vous utilisez pecl comme moi, des avertissements tels que:

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

ce qui se produit car les config. php_ini de ma pear et pecl ne sont pas définies.

0
ivan.sim