IT Berater – Java, J2EE, WebSphere Portal, Lotus Domino
RSS icon Home icon
  • [Behoben] WordPress 2.5 One-Click Plug-in Upgrades – Could not create directory

    (6 votes) 1 Star2 Stars3 Stars4 Stars5 Stars
    Loading...
    Posted on 25 April 2008 Sebastian Thomschke*/?> 42 comments

    Vor einigen Tagen habe ich meine WordPress Installation auf das neue 2.5 Release aktualisiert. Aufgrund meiner Trägheit im Hinblick auf administrative Tätigkeiten wollte ich natürlich auch die neue on-click plug-in upgrade Funktion nutzen um ein paar Plug-ins zu aktualisieren. Allerdings scheiterten alle meine Versuche die Funktion zu nutzen mit der ziemlich nutzlosen Fehlermeldung “Could not create directory”. Daher begab ich mich auf die übliche Netzsuche und bin relativ schnell auf einige Beiträge gestossen, welche die Ursache in unzureichenden Berechtigungen auf bestimmte Verzeichnisse ausmachten. Das manuelle Anlegen des Verzeichnisses /wp-content/upgrade und das “chmodden” auf 777 des selben sowie der Plug-in Verzeichnisse würden das Problem lösen. Leider nicht bei mir. Daher blieb mir nichts weiter übrig als die Ärmel hochzukrempeln und WordPress zu debuggen…

    Lange Rede, kurzer Sinn, ich bin schließlich auf den PHP Bug Report #42739 mkdir doesn’t like a trailing slash when safe_mode is enabled gestossen und es zeigte sich, daß dies genau das Problem war, welches sich mir auf meinem Hosting Account entgegenstellte. Die PHP Option safe_mode war dort aktiviert und WordPress versucht vergeblich mit Schrägstrich endende Verzeichnissepfade anzulegen (z.B. /htdocs/wp-content/upgrade/the-plugin/).

    Nachdem mir der Grund also bekannt war, konnte ich einen Workaround entwickeln und endlich den one-click plug-in updater nutzen. Für alle die das gleiche Problem haben, hier meine Lösung:

    1. Die Datei <wp_root>/wp_admin/includes/class-wp-filesystem-direct.php lokalisieren und in einem Editor öffnen
    2. Nach “function mkdir” in der Datei suchen
    3. Die nachfolgenden Codezeilen in die Methode einfügen. 
      function mkdir($path,$chmod=false,$chown=false,$chgrp=false){
      	if( ! $chmod)
      		$chmod = $this->permission;
      
      	// workaround for http://bugs.php.net/bug.php?id=42739 starts here
      	if(ini_get('safe_mode') && substr($path, -1) == '/')
      	{
      		$path = substr($path, 0, -1);
      	}
      	// workaround for http://bugs.php.net/bug.php?id=42739 ends here
      
      	if( !@mkdir($path,$chmod) )
      		return false;
      	if( $chown )
      		$this->chown($path,$chown);
      	if( $chgrp )
      		$this->chgrp($path,$chgrp);
      	return true;
      }
    4. Mit der Ein-Klick-Aktualisierung beginnen!

    Nachtrag:

    1. Die Änderung funktioniert auch mit WordPress 2.5.1
    2. Falls diese Änderung nicht zum gewünschten Erfolg führt, kann der Fehler noch eine zweite Ursache haben. Daher sollten die Berechtigungen des Verzeichnis /wp-content/upgrade/ und dessen Unterverzeichnisse überprüft und gegebenenfalls per chmod auf 777 gesetzt werden. Falls das upgrade Verzeichnis gar nicht existieren sollte, reicht es vielleicht schon dieses einfach manuell anzulegen.

    Nachtrag 2:

    1. Falls sich das Problem weiter besteht sollte geprüft werden ob das Plug-in AskApache Password Protect installiert ist.
    2. Wenn ja, kann es helfen, dieses vor dem Aktualisieren anderer Plug-ins zu deaktivieren.

  • myPodder – ein mobiler Podcatcher

    1 Star2 Stars3 Stars4 Stars5 Stars
    Loading...
    Posted on 20 April 2008 Sebastian Thomschke*/?> 1 comment

    Vor zwei Wochen habe ich zum ersten Mal damit begonnen, Podcasts ernsthaft auszuprobieren – bis jetzt hauptsächlich Aufzeichnungen vom Deutschland Funk (http://www.dradio.de/podcast/). Ich habe mir die Audiodateien zu interessant klingenden Themen heruntergeladen und auf dem Weg zum/vom Büro in der U-Bahn angehört. Das hat wirklich Spaß gemacht – insbesondere da ich mir nun die Berichte und Diskussionen anhören konnte die mich wirklich interessieren und ich nun nicht mehr an deren Sendezeiten gebunden war. Allerdings fand ich es ziemlich umständlich erst auf der Webseite nach den einzelnen Podcasts zu suchen, diese dann einzeln auszuwählen, herunterzuladen und schliesslich auf meinen schicken Samsung T9 zu überspielen.

    Auf der Suche nach möglichen Programmen die diesen Prozess vereinfachen könnten bin ich auf die Software myPodder gestossen. Diese wird kostenlos von Podcast Ready bereitgestellt. Podcasts Ready stellt einen Onlinekatalog verfügbarer Podcasts unterschiedlichster Quellen bereit und zu meiner Überraschung waren auch die Podcasts des Deutschlandfunks aufgeführt. Das interessante an ihrer Software ist die Tatsache, daß sie sich direkt auf Audioplayern installieren läßt und man diese so konfigurieren kann, daß sie beim Anschliessen des Players an einen Computer automatisch startet. Somit kann man auf einfachste und sehr komfortable Weise über quasi jeden internetfähigen Computer seinen Player mit neuen Podcasts bestücken. Read the rest of this entry »