it-swarm.com.de

Ubuntu pecl install pecl_http schlägt fehl

Ich versuche, diese Erweiterung zu installieren, aber sie schlägt in der Konfigurationsphase fehl. Ich bin auf Ubuntu 12.04 und habe gerade folgende Pakete installiert:

  • libcurl3-openssl-dev
  • php-http
  • libpcre3-dev
  • libcurl3
  • pHP-Birne
  • php5-dev

PHP-Version:

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

Hier ist das Protokoll des Installationsbefehls:

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

Es scheint, dass es ein Problem mit pecl/raphf gibt. Also habe ich versucht:

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

Am Ende der php.ini-Datei unter /etc/php5/Apache2/php.ini Ich habe die Zeile hinzugefügt:

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

Kann ich noch etwas probieren?

16
Gare88

Sie müssen php-raphf von Ihrem Paketmanager installieren.

für mich habe ich das Modul mit folgendem installiert. In Ihrem Fall sollten Sie Yum gegen apt-get wechseln können.

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

Sie müssen der php.ini-Datei extension = http.so hinzufügen. Aber es sieht so aus, als hätten Sie das schon getan.

pecl installiert die gesuchte .so-Datei nicht wirklich.

9
mschuett

wenn Sie Ubuntu 13 oder 14 haben, versuchen Sie pecl install pecl_http-1.7.6, da neuere Versionen aus irgendeinem Grund immer noch nicht geladen werden.

8
coviex

Auf Ubuntu 12.04.5 LTS funktionierte dies für mich:

Installieren Sie zunächst einige Voraussetzungen für das Kompilieren:

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

gehen Sie danach in den Ordner /usr/lib/php5/modules und prüfen Sie, ob die Bibliotheken vorhanden sind: raphf.so, propro.so und http.so.

Wenn Ihr php.ini (um /etc/php5/Apache2/php.ini und /etc/php5/cli/php.ini) diese Erweiterungen nicht enthält, fügen Sie sie hinzu:

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

oder unter Verwendung des absoluten Pfads zu den Dateien, z. extension=/usr/lib/php5/modules/http.so.

Und als letzten Schritt starten Sie Ihren Webserver neu und laden so die neue Konfiguration:

Sudo service Apache2 reload
6

Nur um @ mschuetts Antwort hinzuzufügen, habe ich festgestellt, dass, als ich den gleichen Fehler wie das OP erhielt, das Ändern meiner Erweiterungsreferenz in der php.ini den Trick bewältigt hat.

extension=raphf.so

zu

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

dann

Sudo pecl install pecl_http

Wenn Sie die folgenden Einstellungen vornehmen, müssen Sie Ihre php.ini-Datei nicht manuell bearbeiten, wenn eine pecl-Installation sie ändern möchte:

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

HINWEIS: Dies funktionierte für Ubuntu 14.04 LTS.

5
Kruunch Arz

Führen Sie den Befehl aus  

  1. Sudo yum installieren Sie PHP-Raphf

    • Sudo yum installieren Sie PHP-Propro
  2. Sudo pecl installieren pecl_http

  3. etc/phph5/Apache2/conf.d

füge zwei Dateien hinzu  

  • raphf.ini

Inhalt hinzufügen  

extension = raphf.so

solr.ini

inhalt hinzufügen 

extension = raphf.so

füge php.ini hinzu  

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

0
Rahul Yadav

Ich stoße auf dieses Problem, während ich versuche, pecl_http-2.6.0, raphf-1.1.2 und propro-1.0.2 auf Ubuntu 16.04 und php-fpm5.6 zu installieren. Ich kann apt nicht zur Installation von raphf und propro verwenden (wie von @mschuett vorgeschlagen), da apt nur raphf 2.0.0 und propro 2.1.0 installieren kann, was nur für PHP 7 funktioniert.

Ich behebe das Problem mit den folgenden Schritten, ohne die php.ini aktualisieren zu müssen oder apt zu verwenden.

Damit php-fpm eine neue Erweiterung laden kann, muss zunächst eine .ini-Datei zu /etc/php/5.6/mods-available hinzugefügt werden. Verwenden Sie dann phpenmod, um die Erweiterung zu aktivieren. 

Um raphf-1.1.2 zu installieren und zu aktivieren,

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

Beachten Sie, dass Sie möglicherweise Sudo für diese Befehle benötigen.

Ähnlich für Propro-1.0.2

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

Wenn Sie php -m verwenden, um alle geladenen Erweiterungen anzuzeigen, sollten Sie raphf und propro in der Liste sehen.

Jetzt können Sie pecl_http-2.6.0 mit installieren

$ pecl install pecl_http-2.6.0

Die Installation sollte erfolgreich abgeschlossen werden. 

$ 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

Wenn Sie pecl wie mich verwenden, sehen Sie möglicherweise eine Warnung wie:

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

was passiert, weil die php_ini config meiner pear und pecl nicht gesetzt sind.

0
ivan.sim