Plugin über PHPMyAdmin oder FTP aktivieren?

18

Ich habe gerade ein Plugin auf meiner Website deaktiviert und er zeigt mir jetzt den gefürchteten weißen Bildschirm des Todes. Ich weiß, dass die Seite in Ordnung ist, wenn ich das Plugin wieder aktiviere.

Gibt es eine Möglichkeit, ein Plugin manuell über PHPMyAdmin oder über FTP zu aktivieren?

Django Reinhardt
quelle
Wahrscheinlich ist es hilfreich, dem Plug-in-Besitzer mitzuteilen, dass dies geschehen ist. Vielleicht braucht das Plugin ein bisschen Arbeit
Benny

Antworten:

32

Ich habe das behoben, indem ich über PHPMyAdmin in die Tabelle "Options" und dann in die Zeile gegangen bin active_plugins.

Ich habe dort folgendes gespeichert (zur besseren Lesbarkeit formatiert):

a:10:{
    i:0;s:49:"1and1-wordpress-wizard/1and1-wordpress-wizard.php";
    i:1;s:29:"acf-repeater/acf-repeater.php";
    i:2;s:30:"advanced-custom-fields/acf.php";
    i:3;s:45:"limit-login-attempts/limit-login-attempts.php";
    i:4;s:27:"redirection/redirection.php";
    i:6;s:33:"w3-total-cache/w3-total-cache.php";
    i:7;s:41:"wordpress-importer/wordpress-importer.php";
    i:8;s:24:"wordpress-seo/wp-seo.php";
    i:9;s:34:"wpml-string-translation/plugin.php";
    i:10;s:38:"wpml-translation-management/plugin.php";
}

Ich habe eine neue Zeile (für das fehlende Plugin) und erhöhte die a:10auf , a:11um anzuzeigen , dass es nun 11 Elemente im Array sind:

a:11:{
    i:0;s:49:"1and1-wordpress-wizard/1and1-wordpress-wizard.php";
    i:1;s:29:"acf-repeater/acf-repeater.php";
    i:2;s:30:"advanced-custom-fields/acf.php";
    i:3;s:45:"limit-login-attempts/limit-login-attempts.php";
    i:4;s:27:"redirection/redirection.php";
    i:5;s:40:"sitepress-multilingual-cms/sitepress.php";
    i:6;s:33:"w3-total-cache/w3-total-cache.php";
    i:7;s:41:"wordpress-importer/wordpress-importer.php";
    i:8;s:24:"wordpress-seo/wp-seo.php";
    i:9;s:34:"wpml-string-translation/plugin.php";
    i:10;s:38:"wpml-translation-management/plugin.php";
}

i:scheint die Artikelnummer zu sein, und dank JHoffmanns Kommentar scheint s:es die Länge der folgenden Zeichenfolge zu sein.

Die Seite funktioniert jetzt wie bisher!

Django Reinhardt
quelle
2
Das ssteht für Zeichenkette und die folgende Zahl ist die Länge der Zeichenkette.
JHoffmann
@JHoffmann Danke dafür! Aktualisiert meine Antwort. Kannst du mir sagen, wo du das gelernt hast? Gibt es irgendwo eine gute Ressource, die solche Dinge erklärt? Vielen Dank.
Django Reinhardt
ibedeutet eigentlich Integer-Wert, sbedeutet String und die Zahl daneben sist die Länge des Strings
Pieter Goosen
1
Das sind serialisierte Daten. Ich habe keine genaue Quelle, aber Sie können sich die serialisierten Daten ansehen. Sie können sich auch JSON ansehen, da hier mehr serialisierte Daten verwendet werden
Pieter Goosen,
1
@DjangoReinhardt Wie Pieter Goosen sagte, handelt es sich hierbei um serialisierte Daten, die durch die Serialisierungsfunktion von PHP generiert werden . In WordPress gibt es auch eine Wrapper-Funktion namens maybe_serialize
JHoffmann
12
//Using this code you can activate your plugin from the functions.php
    function activate_plugin_via_php() {
        $active_plugins = get_option( 'active_plugins' );
        array_push($active_plugins, 'unyson/unyson.php'); /* Here just replace unyson plugin directory and plugin file*/
        update_option( 'active_plugins', $active_plugins );    
    }
    add_action( 'init', 'activate_plugin_via_php' );
Anil Jadhav
quelle
Wenn Sie mehr als ein Plugin aktivieren möchten, wiederholen Sie einfach ...
Anil Jadhav
array_push ($ active_plugins, 'unyson / unyson.php');
Anil Jadhav
1
Sie können auch ein if (! in_array ('unyson / unyson.php', $ active_plugins)) hinzufügen, um sicherzustellen, dass es nicht mehr als einmal hinzugefügt wird
Pierre
3

Sie können den Plugin-Ordner einfach umbenennen, zum Beispiel:

"_aksimet"um es zu deaktivieren und dann zurück um "aksimet"es wieder zu aktivieren (falls aktiv)

das kannst du mit allen "plugins" ordnern zusammen machen.

Andernfalls gehen Sie zu MySQL und sehen Sie sich diese Schritt-für-Schritt-Anleitung an , kurz:

  1. MYSQL> wp_options
  2. Suche nach active_pluginsEintrag (beide Schritte können durchgeführt werden mit SELECT * FROM wp_options WHERE option_name = 'active_plugins';)
  3. und dann schreiben Sie Ihr Plugin dort, wie die anderen Plugins geschrieben sind ( iist Index, sist für die Länge der Zeichenfolge).

Ich hoffe es hilft

kybernaut.cz
quelle
Vielen Dank. Ich habe versucht, das Plugin zu deaktivieren, und es stellte sich heraus, dass der Code für das Plugin auf der gesamten Website viel zu tief verwurzelt ist. Ich brauche eine Möglichkeit, es zu reaktivieren :(
Django Reinhardt
Was meinst du damit? Zur Reaktivierung benennen Sie es einfach wieder um. Hast du irgendwelche Fehler oder so?
kybernaut.cz
Das Plugin wurde über die WP Admin-Oberfläche deaktiviert. Nach der Deaktivierung konnte ich nicht mehr auf meine Website zugreifen. Es gab nichts zu "umbenennen", da ich es nicht durch Umbenennen über FTP deaktiviert habe.
Django Reinhardt
Ich habe meine Antwort aktualisiert, aber das ist definitiv seltsam. Welches Plugin war das? Vielleicht können Sie zurück zu fünfundzwanzig wechseln (Ihr Thema umbenennen), es aktivieren und überprüfen, was schief gelaufen ist, und dann zu Ihrem Thema zurückkehren.
kybernaut.cz
2

Nur eine weitere Antwort für einen anderen Ansatz, von dem in Zukunft jemand anderes profitieren könnte. Sie können den Plugin-Ordner auch in den Ordner "Must Use" verschieben (den Sie wahrscheinlich erstellen müssen, wenn er zuvor nicht verwendet wurde. Dieser Pfad lautet normalerweise:

wp-content/mu-plugins

Plugins in diesem Ordner werden immer ausgeführt. Weitere Informationen finden Sie in den folgenden Abschnitten:

https://codex.wordpress.org/Must_Use_Plugins

Hinweis: Das einzige, was zu beachten ist, ist, dass diese Plugins vor anderen in den Plugins-Ordner geladen werden. Beachten Sie auch die Vorsichtsmaßnahmen im obigen Link, da es möglicherweise andere Probleme gibt, die die ordnungsgemäße Funktion Ihres Plugins beeinträchtigen könnten.

TomC
quelle