2016-01-08 2 views
8

Ich wollte http_parse_headers verwenden So, ich habe Abhängigkeit pecl_http(2.4.3/2.2.5) installiert und http_parse_headers Funktion ohne Erfolg aufrufen.http_parse_headers mit PECL_HTTP

function_exists() immer fehlschlägt gibt es etwas, dass ich hier fehlt?

Ich verwende

CentOS 6.7 (Final)

Apache 2.4.16

PHP 5.6

Update 1

Hier ist der Code!

<?PHP 
    if(function_exists("http_parse_headers")) echo 'Function Exists'; 
    else echo 'Function Not Exists'; 
?> 

Update 2

hier ist die php.ini

...... 
...... 
extension=pdo.so 
extension=pdo_sqlite.so 
extension="memcache.so" 
extension="raphf.so" 
extension="propro.so" 
extension="http.so" 
extension=pdo_mysql.so 

Update 3

Hier ist der Ausgang des phpinfo()

output of phpinfo()

+0

Wo ist der Code? – Mangesh

+0

hatten Sie Apache nach der Installation neu gestartet? –

+0

Ja Ich habe mit 'Service httpd Neustart 'neu gestartet – muaaz

Antwort

1

Ok, nach einer langen langen Suche ich, dass

Version 2 von PECL_HTTP Bibliothek gefunden ist völlig unverträglich mit Version 1 Keine der HTTP Funktionen existieren in Version 2

Dies ist nicht in der Dokumentation auf PHP.net ANYWHERE angegeben.

Übrigens, Version 2 ist eine vollständige OOP-Schnittstelle und Drop-Unterstützung für alle aufgeführten Funktionen here in der Dokumentation.

Wenn Sie für die Funktions API suchen, verwenden Sie Version 1

So, wie von Ricardo vorgeschlagen müssen Sie

http\Header::parse($yourHeaders); 

verwenden Header zu analysieren und

new http\Cookie($yourCookies); 

Cookie zu analysieren usw.

4

Die PHP-Dokumente sind falsch. Version 2 der Bibliothek ist nicht mit den in php.net aufgeführten Funktionen kompatibel.

Lesen der new documentation Sie jetzt haben HTTP::parse als solche zu verwenden:

http\Header::parse($yourHeaders)