Back again – WordPress Plugin deaktivieren ohne WP

Hat man sein Wordpress durch ein Plugin zerschossen und kann es nicht mehr über WP ausschalten, helfen die hier beschriebenen Kniffe beim Plugin deaktivieren.

Wordpress Logo Wir sind wieder da, und wie könnte es anders sein, nicht ganz problemlos. So macht mir ein Plugin am neuen Server Probleme, indem es eine Endlosschleife generiert. Dummerweise bei jedem Login, ein deaktivieren des Plugins über das Backend ist somit nicht möglich.

Es kann schon mal vorkommen, dass man WordPress im Übereifer mit einem Plugin lahmlegt, da braucht man noch nichtmal einen Serverumzug dafür. Drum kurz eine Auflistung der Möglichkeiten die Plugins zu deaktivieren:

wp-content/plugins umbenennen

Die Plugins werden von WordPress im Verzeichnis wp-content/plugins abgelegt. Benennt man dieses Verzeichnis um werden sie beim nächsten Aufruf von WordPress nicht gefunden. WordPress deaktiviert daraufhin alle Plugins und lädt normal. Wird der Ordner wieder zurück umbenannt, sind die Plugins wieder aktiv.

pluginverzeichnis umbenennen

Möchte man nur ein Plugin umbenennen und hat keinen direkten Zugriff zur Datenbank kann man auch nur das Verzeichnis des jeweilgen Plugins umbenennen. Dadurch wird nur dieses Plugin deaktiviert.

alle per SQL Statement

Hat man zugriff auf die Datenbank können alle Plugins per SQL Aufruf deaktiviert werden. Dazu muss man folgendes Statement absetzen. Der Tabellenname wp_options muss natürlich noch angepasst werden.

update wp_options set option_value=’’ where option_name=’active_plugins’

Dadurch wird der bisherige Wert mit nichts (set options_value=’’ – zwei einzelne Anführungszeichen)  ersetzt und alle Plugins sind deaktiviert.

einzelne per SQL Statement

Will man hier nur ein einzelnes Plugin deaktivieren bedarf es schon gezielterer Eingriffe. Ist das vorige Update noch mit einer Holzhammer Methode zu vergleichen muss man den String der unter active_plugins verborgen ist mit einem Skalpell zerlegen um nur ein einzelnes Plugin abzudrehen.

Als erstes holen wir uns den Wert der zur Zeit unter active_plugins gespeichert ist:

select option_value from wp_options where option_name=’active_plugins’;

Dabei bekommen wir beispielhaft folgenden String zurück:

a:3:{i:0;s:25:“plugin-one/plugin-one.php“;i:1;s:25:“plugin-two/plugin-two.php“;i:2;s:29:“plugin-three/plugin-three.php“;}

Der Aufbau des Strings ist wie folgt:

a:3 zeigt an, dass es sich um einen Array mit 3 Elementen handelt. Jedes Element wird über seinen Index gefunden. In unserem Fall a:3 gibt es also drei Elemente mit den Indexwerten 0 bis 2: i:0, i:1 und i:2

Nach jedem Indexwert steht der eigentliche Inhalt des Array. Dabei wird erst noch ein wenig Meta-Information angeliefert. s steht hierbei für String, die Zahl zeigt die Zeichenanzahl des Strings an.

Möchte man nun zum Beispiel plugin-two deaktivieren sind folgende Schritte notwendig:

Zuerst muss man den Array kürzen, aus a:3 wird a:2

Das zu entfernende Plugin muss rausgenommen werden, folgender Textteil wird ausgeschnitten: i:1;s:25:“plugin-two/plugin-two.php“;

Damit das Array nun wieder konsistent ist, müssen final noch die anderen Indexe angepasst werden: i:2 wird zu i:1

Den neuen Gesamt-String stecken wir dann wieder in die Datenbank:

update wp_options set option_value=
’a:3:{i:0;s:25:"plugin-one/plugin-one.php";i:1;s:29:"plugin-three/plugin-three.php";}’
where option_name=’active_plugins’

Und schon ist das einzelne Plugin deaktiviert.

So ich hoffe das hilft!

So long, have fun!

Quelle: http://www.buildblog.de/2009/04/03/wordpress-plugins-manuell-deaktivieren

Ähnliche Artikel:

Serverwartung

Nullpointer.at zieht auf einen neuen Server und meldet sich bald zurück.

servermoveDiese Woche ist es soweit, Serverwartung, Nullpointer zieht um!

Da unser Hoster seine Server umstellt wird Nullpointer umgezogen. Also eigentlich ists keine Serverwartung, sondern eine Erneuerung. Yey n stärkerer Server. Spüren solltet ihr davon gar nix, wenn alles glatt läuft. Also von der Umstellung, den stärkeren Server spürt man hoffentlich! Auch wenn ich mich bisher ned beschweren konnte.

Wenns denn in spätestens 7 Tagen fertig ist werde ich auch wieder mit neuen Inhalten aufwarten. Unter anderem möchte ich jetzt schon ein kleines aber mehrteiliges Java Swing Tutorial ankündigen. Außerdem werd ich über meine ersten Eindrücke von der Entwicklung für Android berichten.

Also denn – see you on the other side! oder so

Ähnliche Artikel:

Maildir: Wie kommen die Mails auf einen neuen Server?

Maildir: Was steckt hinter dem Dateinamen einer Maildir Datei? Kann man sie bedenkenlos auf andere Server verschieben? Die Antwort steckt in diesem Artikel.

Es kommt der Zeitpunkt für viele Server, da werden sie ersetzt. So ergeht es auch so manchem Mailserver. Modernisierungen, Standortwechsel und andere Begebenheiten machen einen Transfer der alten Mails auf ein anderes Gerät / auf eine andere Installation notwendig.

Nun stellt sich die Frage, wie man das bewerkstelligt.

Die einzelnen Dateien im Maildir Format haben durchaus verzwickte Dateinamen

1992034886.M538544P12919.server,S=1473,W=1505

und so könnte man auf den trügerischen Schluss kommen, dass mehr da dahinter steckt und man irgendwelche Konvertierungen beachten muss. Doch es ist kein Transfer über 2 IMAP konten oder ähnliches ist notwendig. Der Dateiname ist lediglich ein Resultat des Versuchs eindeutige Dateinamen zu erzeugen und der Inhalt selbst ist simpler ASCII Text. Theoretisch könnte eine solche Datei auch “herbert” heißen und es sollten keinerlei Komplikationen auftreten.

Somit reicht es aus eine Datei im Maildir Format einfach in das neue Zielverzeichnis zu verschieben.

Was steckt hinter dem Dateinamen?

Maildir VerzeichnisbaumAls Prozedur für die Erzeugung des Dateinamens sind folgende zwei Formen vorgesehen:

  • time.MusecPpid.host
  • time.MusecPpid_unique.host

time und usec stehen für die aktuelle Systemzeit die über den aufruf gettimeofday ausgelesen wird, pid ist die Prozessnummer des Prozesses der die Mail in das Verzeichnis schiebt. Der Platzhalter host steht für den Namen der Maschine an die die Mail geliefert wurde.

Wenn mehr als eine Nachricht im selben Prozess behandelt wurde sind noch zusätzliche Suffixe angehängt, dies wird im 2. Schema verdeutlicht. Ein Unterstrich trennt die Prozessnummer von einem aufsteigenden Counter (unique). Dabei ist es egal in welchen Ordner eine Nachricht einmal abgelegt wird. Diese Mechanismen sorgen dafür, dass mehr als nur ein Prozess Mails ablegen kann ohne anderen Prozessen in die Wege zu kommen.

Damit der so erzeugte Dateiname nicht trotzdem schon existiert wird wird dennoch drauf geprüft ob er schon existiert. Wenn das der Fall wäre würde der Prozess für kurze Zeit pausieren und dann einen neuen Anlauf starten.

War der check erfolgreich wird die Nachricht angelegt. Ist sie fertig ins Filesystem geschrieben wird sie an ihr Ziel verschoben und um zusätzliche Informationen im Namen ergänzt. Der neue Name entspricht nun folgendem Schema:

  • time.MusecPpidVdevIino.host,S=cnt,W=vsize
  • time.MusecPpidVdevIino_unique.host,S=cnt,W=vsize

dev steht nun für die Device Nummer ino für die Inode Nummer, beides ausgelesen über fstat und cnt steht für die Nachrichtengröße in Bytes, welches für diverse Mailkonten-Quotenregelungen notwendig ist. Dadurch erspart man sich ein performance-lastiges Aufsummieren der Mailboxauslastung über den stat Befehl. vsize ist ebenfalls eine Kennzahl für die Mailgröße nach RFC822 bei dem die Steuerzeichen für den Zeilenumbruch mit berücksichtigt werden.

That’s it!

PS: richtiges chown nicht vergessen, sonst passiert nach dem Verschieben gar nix :)

Ähnliche Artikel:

Gebt Oracle Zeit!

Seit der Übernahme Suns durch Oracle hat sich viel getan, vieles missfällt der Community. Doch Gebt Oracle Zeit! Es steht noch am Anfang und kann noch lernen.

Es schlägt zur Zeit überall große Wellen, erst kauft Oracle Sun auf, dann braucht es länger als einen Tag um sich in den Unternehmensstrukturen zurechtzufinden, gibt schließlich an Tag 2 nicht zu allen Projekten die weitere Zielsetzung bekannt. Will an Tag 3 doch tatsächlich mit dem Einkauf Geld verdienen und hat an Tag 4 immer noch nicht alle Projekte komplett gesichtet und die zukünftige Roadmap festgelegt. Verklagt daraufhin an Tag 5 Google, und während der Kampf Böse gegen Böse hier nun tobt, tun sich noch weitere Fronten auf. Eine Woche nach der Übernahme sprießen die Forks von Sun Projekten (Maria DB, Libre Office, Open Solaris) wie Maiglöckchen im Frühling. Zwei Wochen nach der Übernahme hat die Apache Software Foundation dem JCP den Rücken gekehrt. Oracle hatte im Lizenzstreit über Wochen hinaus keinerlei Bereitschaft für ein Miteinander gezeigt und strikt seine Sicht der Dinge fortgeführt.

Den Aufschrei der nun durch die Blogosphäre (grausames Wort) geht kann ich verstehen und nachvollziehen. Ja er ist sogar notwendig, damit Oracle sieht was diese Entscheidungen bewirken. Und dass dahinter sehr viel Emotion und Identifikation steckt.

Dass die ASF als Non-Profit-Organisation mit Oracle Lizenztechnisch im Klinsch liegt, und noch lange liegen wird, ist ebenfalls verständlich, und in meiner Position kann man hoffen dass hier das letzte Wort noch nicht gesprochen ist.

Und auch wenn ich selbst einige Entscheidungen seitens Oracle gern anders gesehen hätte, bleibt mir gerade deshalb nur zu sagen: Gebt Oracle Zeit!

Viele Geschäftsfelder dieser Firma funktionieren in und mit Java, man ist also davon abhängig. Und sie haben Recht, Java muss sich weiterentwickeln. Es herrschte lange Stillstand, der durch eine tolle Community kompensiert wurde. Durch 3rd Party Frameworks u.a.. Und deshalb kann die Community auch jetzt zeigen, dass ihr was an Java liegt, und weiterhin den Dialog suchen, versuchen Java voranzubringen und vor allem versuchen Oracle etwas Zeit zu geben einen Weg zu finden der für alle akzeptabel ist (und dabei weiterhin aufschreien wenn man nicht gehört wird).

Denn wenn Oracle noch nicht mal die Verpackung der Sun Produkte komplett erneuern konnte (siehe Bild), wie soll dann bei so vielen Projekten schon der für alle Beteiligten richtige Weg eingeschlagen sein?

Virtualbox Installationsdialog Oracle Sun gemixed

PS: Die zeitliche Anordnung der Ereignisse ist frei definiert. Die genannten Distanzen sollen vor allem eins Zeigen, es ist alles noch in den Kinderschuhen.

Ähnliche Artikel:

Progress Quest – Wenn Fortschritt zum Stillstand wird

Früher hab ich gern und oft am PC gespielt. Heute hab ich die Zeit dafür nicht mehr so. Daher testete ich Progress Quest ein simples nicht-interaktives Spiel.

Client Progress Quest

Früher hab ich gern und oft am PC gespielt. Heute bereitet es mir immer noch Freude, nur mit der Zeit die ich dafür opfern mag ist’s nicht ganz so gut bestellt. Da schien Progress Quest (http://progressquest.com) wie ein kleiner Rettungsanker.

Um was geht’s? – Progress Quest ist ein nicht-interaktives Rollenspiel. Entweder im Browser oder als Client hat mein nicht zu beeinflussendes Interface, bei dem man laufend über die Entwicklung seines Helden informiert wird, selbst aber nichts tun kann, außer es laufen zu lassen.

Den Helden selbst kann man nur zu Beginn des Abenteuers prägen, indem man Rasse und Klasse auswählt. Die genauen Auswirkungen eben dieser Auswahl bleibt aber während des gesamten Spiels verborgen. Ab dann ist der Held auf sich selbst gestellt, und er meistert dies auch hervorragend.

Spielen lässt sich Progress Quest im Singleplayer (also ein Client der nur am eigenen PC läuft) oder im Multiplayer. Dabei kommuniziert der Client mit dem Server und sendet regelmäßig Updates des Spielstatus. Wozu das ganze? Naja am Schluss kann man sich in einem Ranking ansehen wie weit man im Verhältnis zu seinen Mitspielern gekommen ist.

Ranking Progress Quest

Anfangs macht das Spiel auch richtig Laune, man beobachtet ein wenig das Geschehen, das, außer ein paar namensgebende Fortschrittsbalken, jedoch nicht viel hergibt. Man findet so manchen kleinen Scherz. Wenn mein Double Wookie Robot Monk dann von einer Medusa ein Auge erbeutet, wirkt das Spiel durchaus noch interessant.

Auch das Ausrüsten des Helden (Cuisses: +13 Custom Banded ABS) und das Entwickeln der Zaubersprüche (Rabbit Punch XV) bietet ein wenig Witz, wird aber spätestens dann zur uninteressanten Plage wenn man sieht dass sich der Held bei ein und dem selben Marktaufenthalt 2x eine bessere Waffe kauft und somit der erste Einkauf umsonst war.

Spielerfahrung Progress QuestAuch der Spielfortschritt passt eigentlich am Anfang, man spielt sich schnell ein paar Level hoch, und bekommt so immer neue Monster zu sehen, wirft also noch regelmäßig einen Blick auf das Geschehen. Nach Stunde Zwei vergisst man allerdings all zu gern auf Progress Quest und andere Dinge, die wirklich wichtigen treten in den Fokus.

Kurz vor dem PC abdrehen ist es dann soweit, nach 6 Stunden ein Blick auf den Fortschritt des Helden, wow schon Level 10. Es wird noch schnell die erforderliche Restzeit für den Spielabschnitt Akt 2 kontrolliert, und diese verrät bereits, dass es um den Spiel-Fortschritt künftig nicht mehr so gut bestellt sein wird.

Am zweiten Tag läuft Progress Quest weiter im Hintergrund. Nachgesehen wie sich der Held macht wurde eigentlich nicht mehr. Am Abend ein kurzer Blick, man resümiert, dass man recht hatte, das Spiel wird noch Ewigkeiten dauern. Auch mit Inhalten kann das Spiel nun nicht mehr Punkten. Anstatt gegen einen weißen Drachen kämpft man nun gegen zwei, und der Pool an Beutestücke, Zaubersprüchen und Ausrüstungsgegenstände weißt nun eindeutige Redundanzen vor. So Übel wurden nicht einmal in Diablo die Pre und Postfixe zur Namensgebung wiederholt.

Am dritten Tag dreht man Progress Quest noch auf, schließlich hat man sich auf ein Abenteuer eingelassen, interessieren tut’s aber eigentlich keinen Funken mehr.

Nun, ist mein Held schon eine geraume Weile auf dieser Welt, er steht kurz davor Akt 3 Abzuschließen. Was ändert das für mich als Spieler? Nichts. Es hat die selbe Spannung einer Uhr zuzusehen die nach oben zählt. Morgen werd ich Progress Quest wohl nicht mehr starten …

Achja falls ich euer interesse geweckt habe: http://www.ptb.de/de/zeit/uhrzeit.html

Ähnliche Artikel: