crunchweb.de

WordPress 2.8: An Unexpected HTTP Error occurred during the API request

von Luca am 2009-11-06 um 15:40

wordpress_logoManche Blogger bekommen seit dem Update auf WordPress 2.8 sporadisch die Fehlermeldung mit dem aussagekräftigen Titel Ein unerwarteter HTTP-Fehler ist während der API-Abfrage aufgetreten (in englischen Versionen oder bei Lokalisationsfehlern: An Unexpected HTTP Error occurred during the API request). Häufig passiert dies, wenn man Seiten im Admin-Panel aufrufen oder sich einloggen will. Manchmal gibt es auch einen WP HTTP Error ohne weitere Beschreibung oder es wird einfach eine weiße Seite angezeigt.

Der Grund dieses Fehlers liegt darin, dass WordPress ein Timeout von 5 Sekunden hat, bis es die geladene Seite als nicht reagierend erachtet. Wenn nun ein Plugin oder eine Seite die WordPress-API länger als fünf Sekunden beschäftigt (was durchaus öfters vorkommen kann, gerade bei umfangreicheren Installationen), kommt der "unbekannte HTTP-Fehler". Zur Lösung dieses Problems muss man nur eine kleine Änderung bewerkstelligen - und zwar in der Zeile 228 (ab der Version 2.8.6 ist es die Zeile 223, bei anderen Versionen einfach mal suchen) der wp-includes/http.php:

'timeout' => apply_filters( 'http_request_timeout', 5),

Einfach das Timeout von standardmäßig 5 Sekunden auf einen höheren Wert erhöhen. Bei schnellen Servern kann man ungefähr 10 Sekunden einstellen, bei langsameren können es durchaus einmal 25 Sekunden oder mehr sein. Man sollte allerdings etwas herumprobieren, bis man den optimalen Wert gefunden hat - liegt er nämlich zu hoch, könnten die "richtigen" Timeouts oder schadhafte Scripts nicht rechtzeitig unterbrochen werden und den Server ausbremsen.

Tags: , , , Kommentar schreiben
Kommentare (5) Trackbacks (0)
  1. Danke für den Tipp! Dachte schon es wäre was ernstes, als ich die Meldung bekam… :)

    Gruß
    Jack

  2. Ehrlich gesagt, finde ich den “wp.includes” nicht. Habe zwar den Ordner, aber denn kan ich ja schlecht bearbeiten.. :) .

    Wüsste da jemand einen Rat?

  3. Die Datei, die du bearbeiten musst, heißt http.php und liegt im Unterordner wp-includes, wie oben beschrieben. wp.includes gibts natürlich nicht ;)

  4. Hey :D
    öhm… bisschen später Kommentar. (bin gespannt ob er gelesen wird)

    Ich wollte mal fragen, wo genau man das einfügen soll, denn wenn ich die Datei http.php bearbeite mit “PSPad” dann komme ich nicht mal zu der Zeile 228 bzw. bei 223 wird es auch nicht angezeigt.

    Ich benutze die neuste WP Version.

    Bitte um Hilfe.

    Grüße:
    Tobi

  5. Seit Version 3.0 ist die genannte Codezeile in der wp-includes/class-http.php zu finden.


Leave a comment

Noch keine Trackbacks.