2014-02-27 25 views
7

Ich halte diesen Fehler:Kann nicht http bekommen in PHP arbeiten

PHP Warnung: PHP Startup: Unable '/usr/lib64/php/modules/http.so' dynamische Bibliothek laden -/usr /lib64/php/modules/http.so: undefined Symbol: php_persistent_handle_abandon in Unknown on line 0

PHP Fatal error: Class 'Httpresponse' nicht in /var/www/api/init.php auf Linie 4

gefunden

Ich habe http durch pecl ein paar Mal neu installiert, sogar versucht, es von der tar.gz zu installieren. Ich führe eine EC2-Instanz.

Ich habe Erweiterung = http.so in meiner php.ini.

+0

Wie haben Sie installieren php? Ich sehe das oft mit mehreren PHP-Installationen mit inkonsistenten Modulstandorten. – datasage

+0

Ich habe PHP mit yum installiert. Ich habe PHP 5.3. Ich habe gerade versucht, herunter zu pecl http 1.6.7, was funktionierte, aber jetzt kann ich nicht http.so finden –

+0

Haben Sie pecl über yum auch installieren? – datasage

Antwort

10

Sie haben wahrscheinlich Version 2 von pecl_http, und es hat einige neue Anforderungen. Siehe die installation instructions. Für mich sind diese Linien gearbeitet:

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

Edit: Reihenfolge ist wichtig, so versuchen Sie zuerst die gleiche Reihenfolge wie früher.

Ich stellte auch sicher, dass http.so nach json.so und den anderen Voraussetzungen geladen wird.

+3

Stellen Sie sicher, dass dies die genaue Reihenfolge ist, wenn Sie in PHP auflisten. ini – Arjan

2

Als Mine wurde für die zusätzliche INI-Dateien mit /etc/php/conf.d/ ich voran sie nur mit Zahlen

mv raphf.ini 1raphf.ini 
mv propro.ini 2propro.ini 
mv http.ini 3http.ini 


# php --ini 
Configuration File (php.ini) Path: /etc/php 
Loaded Configuration File:   /etc/php/php.ini 
Scan for additional .ini files in: /etc/php/conf.d 
Additional .ini files parsed:  /etc/php/conf.d/1raphf.ini, 
/etc/php/conf.d/2propro.ini, 
/etc/php/conf.d/3http.ini, 
/etc/php/conf.d/imagick.ini 
+0

eigentlich sollte http.ini wirklich am Ende aller anderen Erweiterungen laden. Ich habe es stattdessen in zzzhttp.ini umbenannt und es löste ein weiteres Problem, das ich hatte. – Sebas

+0

oh Mann! Vielen Dank. Das hat funktioniert. Verschwendete Stunden und Stunden .. seufz – Viraths

3

I pecl_http erfolgreich mit folgenden Schritten auf Debian

    installiert
  1. ausführen sudo pecl install raphf propro pecl_http
  2. /etc/php5/mods-available/zhttp.ini erstellen extension=raphf.so extension=propro.so extension=http.so
  3. ausführen sudo php5enmod zhttp
  4. Neustart Ihren Webserver
+0

Running 'php -r 'http_post_data();'' gibt mir immer noch 'Call to undefined Funktion http_post_data()' –