Automatische Updates in WordPress


Mit der Veröffentlichung von WordPress 2.7 am 11. Dezember stand ich vor einem Problem: Ein manuelles Update von Plugins ist anscheinend nun überhaupt nicht mehr vorgesehen. Bis dato hatte ich meine Plugins immer über den Download-Link im Backend heruntergeladen und dann per FTP auf meinen Server geschoben. Das automatische Update hatte nämlich bei mir noch nie funktioniert – stattdessen erhielt ich immer die vielen sicher wohlbekannte Fehlermeldung „open basedir restriction in effect“. Ich dachte immer, das läge an der Konfiguration meines Servers und somit außerhalb meines Einflußbereiches, und deshalb habe ich es eben so hingenommen.

Jetzt aber zeigt WordPress im Backend zwar an, wenn neue Updates für Plugins verfügbar sind, jedoch gibt es dort keinen direkten Downloadlink zur .zip-Datei mehr. Das hätte also bedeutet, daß ich jedes Plugin selbst auf wordpress.org hätte suchen müssen bzw. jedesmal die Homepage des Autoren hätte besuchen müssen, um dort die aktuelle Version als .zip-Datei herunterzuladen. Extrem nervig! Das gab mir also Anlaß, mich noch einmal auf die Suche nach einer Lösung zu machen, und schließlich wurde ich auf LastManStanding.de fündig.

Man fügt in seiner wp-config.php unterhalb (!) der Zeile

define('ABSPATH', dirname(__FILE__).'/');

folgendes ein:

putenv("TMPDIR=" . ABSPATH . "wp-content/upgrade");
define('WP_TEMP_DIR', ABSPATH . "wp-content/upgrade");

Wie man den Unterordner von wp-content nennt, ist im Grunde egal. Ich habe den Namen „upgrade“ bevorzugt, weil WordPress selbst ihn bei mir schon vor einiger Zeit mit diesem Namen angelegt hat. Man kann ihn aber auch „tmp“ nennen, wie es auf LastManStanding.de vorgeschlagen wird, oder aber auch ganz anders. Wichtig: Das Verzeichnis muß natürlich existieren, d. h. man muß es ggf. noch anlegen, und WordPress muß in diesem Ordner Schreibrechte haben!

Jetzt klappt alles wie gewünscht: Sowohl Plugins als auch WordPress selbst lassen sich nun mit einem einfachen Mausklick updaten! Unglaublich komfortabel!


18 Antworten zu “Automatische Updates in WordPress”

  1. bei mir macht er jetzt zwar, dass er das Update lädt, entpackt etc.

    Dann kommt aber folgende Meldung:

    Update wird entpackt

    Entferne die alte Version des Plugins

    Altes Plugin konnte nicht entfernt werden

    Pluginaktualisierung fehlgeschlagen

    Jemand eine Idee, woran es liegen könnte?

  2. Hmm, die Unterordner und Dateien darin denn auch alle?
    Bei meinem FireFTP setze ich die Rechte mittels Rechtsklick → „Properties (incl. contents)“ und habe dann dort die Optionen „This Folder“, „All Contained Folders“ und „All Contained Files“. Diese hake ich alle an, und dann setzt er die Rechte für alle enthaltenen Ordner und Dateien.

  3. Soweit so gut, aber bei mir kommt jetzt die Fehlermeldung:

    Neue WordPress-Version wird entpackt.

    Warning: copy(/mein Pfad/www/wp-admin/includes/update-core.php) [function.copy]: failed to open stream: Permission denied in /mein Pfad/www/wp-admin/includes/class-wp-filesystem-direct.php on line 122

    Jemand ´ne Idee ???

    Dateien konnten nicht kopiert werden

  4. Naja, auch da wieder die Frage: Hat WordPress Schreibrechte in dem Ordner, den Du in der wp-config.php angegeben hast (also z.B. wp-content/upgrade)?

    Der Ordner sollte die Rechte 775, oder testweise vielleicht auch 777 haben, sonst kann WordPress ja die Dateien nicht da rein entpacken.

    Eine andere Möglichkeit wäre, daß auf Deinem Server Safemode aktiviert ist. Sollte das der Fall sein, dann ist die Sache leider ziemlich hoffnungslos für Dich, soweit ich weiß. :)
    Dann mußt Du weiter per FTP updaten.

  5. Dann weiß ich auch nicht weiter, tut mir leid. Bei mir war der Safemode früher auch mal aktiv, und soweit ich das ergoogeln konnte, sind automatische WordPress-Updates damit unmöglich.
    Aber schreib‘ doch mal ein Ticket – unter dem zweiten Link steht ja, daß die Hosteurope-Menschen sehr bemüht sein sollen! Vielleicht können sie Dir auch irgendwie helfen. ;)

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert