Attivare un plugin tramite PHPMyAdmin o FTP?

26 ago 2015, 18:47:24
Visualizzazioni: 88.4K
Voti: 25

Ho appena disattivato un plugin sul mio sito e ora mi sta mostrando la temuta schermata bianca della morte. So che il sito tornerà a funzionare se riattivo il plugin.

Esiste un modo per attivare manualmente un plugin tramite PHPMyAdmin o FTP?

1
Commenti

potrebbe essere utile informare il proprietario del plugin che è successo. Forse il plugin ha bisogno di qualche miglioramento

User User
27 ago 2015 11:26:12
Tutte le risposte alla domanda 4
10
42

Ho risolto questo problema accedendo tramite PHPMyAdmin alla tabella "Options" e poi alla riga active_plugins.

Avevo i seguenti valori memorizzati lì (formattati per una migliore leggibilità):

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";
}

Ho aggiunto una nuova riga (per il plugin mancante) e incrementato il valore a:10 a a:11 per indicare che ora ci sono 11 elementi nell'array:

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: sembra indicare il numero dell'elemento, e grazie al commento di JHoffmann, sembra che s: rappresenti la lunghezza della stringa che segue.

Ora il sito funziona come prima!

26 ago 2015 19:32:38
Commenti

La s sta per stringa e il numero che segue rappresenta la lunghezza della stringa.

JHoffmann JHoffmann
26 ago 2015 19:37:20

@JHoffmann Grazie per questo! Ho aggiornato la mia risposta. Puoi dirmi dove l'hai appreso? C'è qualche buona risorsa che spiega queste cose? Grazie.

Django Reinhardt Django Reinhardt
26 ago 2015 19:40:06

i in realtà significa valore intero, s significa stringa e il numero accanto a s è la lunghezza della stringa

Pieter Goosen Pieter Goosen
27 ago 2015 11:25:46

@PieterGoosen Stessa domanda per te: dove l'hai imparato? Esiste qualche risorsa al riguardo?

Django Reinhardt Django Reinhardt
27 ago 2015 14:10:49

Quelli sono dati serializzati. Non ho una fonte esatta, ma puoi approfondire i dati serializzati. Puoi anche dare un'occhiata al JSON dato che è più lì dove vengono utilizzati i dati serializzati

Pieter Goosen Pieter Goosen
27 ago 2015 14:18:13

@DjangoReinhardt Come ha detto Pieter Goosen questi sono dati serializzati generati dalla funzione serialize di php. In WordPress c'è anche una funzione wrapper chiamata maybe_serialize

JHoffmann JHoffmann
28 ago 2015 02:25:32

Vorrei che standardizzassero il nome del file del plugin che dichiara il plugin stesso. Sto lavorando a uno script che scaricherà, installerà e attiverà automaticamente i plugin. Questo è l'ultimo pezzo che mi manca!

cpcdev cpcdev
7 mag 2016 02:14:33

Aggiornare quel valore direttamente nella tabella del database ha disabilitato tutti i miei plugin. Dopo averlo fatto, ho dovuto riattivare tutti i plugin tramite l'interfaccia di amministrazione di Wordpress. Mi chiedo cosa causi la disattivazione dei plugin dopo l'aggiornamento del valore dell'opzione 'active_plugins'.

Marcos Buarque Marcos Buarque
26 set 2018 16:24:32

Funziona perfettamente. Grazie campioni.

Umar Niazi Umar Niazi
12 dic 2020 08:11:10

Confermo, ha funzionato esattamente come descritto nel mio caso. È interessante notare che sembra che i valori i: non debbano essere consecutivi... Avevo a:40 e poi i numeri i andavano da 0 a 38 e l'ultimo era 40, senza il 39. Ho cambiato a: a 41 e aggiunto il mio nuovo plugin alla fine con i:41 e ha funzionato perfettamente.

John Smith John Smith
25 feb 2024 06:40:07
Mostra i restanti 5 commenti
5
19
//Utilizzando questo codice puoi attivare il tuo plugin dal file functions.php
    function activate_plugin_via_php() {
        $active_plugins = get_option( 'active_plugins' );
        array_push($active_plugins, 'unyson/unyson.php'); /* Sostituisci qui semplicemente la directory del plugin unyson e il file del plugin*/
        update_option( 'active_plugins', $active_plugins );    
    }
    add_action( 'init', 'activate_plugin_via_php' );
16 lug 2016 21:47:16
Commenti

Se desideri attivare più di un plugin, basta ripetere...

Anil Jadhav Anil Jadhav
16 lug 2016 21:49:49

array_push($active_plugins, 'unyson/unyson.php');

Anil Jadhav Anil Jadhav
16 lug 2016 21:49:56

potresti anche aggiungere un if(!in_array('unyson/unyson.php',$active_plugins)) per assicurarti che non venga aggiunto più di una volta

Pierre Pierre
28 mag 2018 14:00:12

Dove posso trovare functions.php? Si trova nella cartella del tema o in wp-includes?

Wesley Gonçalves Wesley Gonçalves
11 mag 2020 06:06:49

Il mio istinto dice che, anche se la risposta contrassegnata come corretta funziona, questa dovrebbe essere quella contrassegnata come corretta, poiché è interamente all'interno di WordPress, non implica la modifica diretta del database ed è generalmente meno soggetta a errori. functions.php si trova nella cartella del tema, generalmente dovresti creare un child theme e modificarlo lì, poiché il functions.php del tema genitore perderà le tue modifiche al prossimo aggiornamento del tema.

John Smith John Smith
25 feb 2024 06:42:37
3

Un'altra risposta per un approccio diverso che potrebbe essere utile a qualcun altro in futuro. Potresti anche spostare la cartella del plugin nella cartella Must Use (che probabilmente dovrai creare se non l'hai mai usata prima). Questo percorso è solitamente:

wp-content/mu-plugins

I plugin in questa cartella verranno sempre eseguiti. Fai riferimento al seguente link per maggiori informazioni:

https://codex.wordpress.org/Must_Use_Plugins

Nota: L'unica cosa da considerare è che questi plugin vengono caricati prima degli altri nella cartella dei plugin. Consulta anche le avvertenze nel link sopra poiché potrebbero esserci altri problemi che potrebbero impedire il corretto funzionamento del tuo plugin.

1 giu 2016 10:04:12
Commenti

Mi ha salvato la vita su un sito web di 5 anni creato da un altro sviluppatore che aveva installato 2 plugin dipendenti l'uno dall'altro e su cui ho disabilitato accidentalmente uno di essi.

Meloman Meloman
3 lug 2020 09:32:41

Haha - felice di sentire che ha funzionato per te! :)

TomC TomC
3 lug 2020 09:33:41

Un'ottima soluzione alternativa, grazie per averlo condiviso, ho appena imparato qualcosa di nuovo. :-)

Trisha Trisha
5 lug 2022 23:08:42
4

Puoi semplicemente rinominare la cartella del plugin, ad esempio:

"_aksimet" per disattivarlo e poi tornare a "aksimet" per riattivarlo nuovamente (se era attivo)

puoi farlo con tutte le cartelle dei "plugin" insieme.

In alternativa, vai su MySQL e dai un'occhiata a questo manuale passo dopo passo, in breve:

  1. MYSQL > wp_options
  2. cerca la voce active_plugins (entrambi i passaggi possono essere eseguiti con SELECT * FROM wp_options WHERE option_name = 'active_plugins';)
  3. e poi scrivi il tuo plugin lì come sono scritti gli altri plugin (i è l'indice, s è per la lunghezza della stringa).

Spero sia utile

26 ago 2015 18:49:49
Commenti

Grazie. Ho provato a disattivarlo e si è scoperto che il codice del plugin è troppo integrato in tutto il sito. Ho bisogno di un modo per riattivarlo :(

Django Reinhardt Django Reinhardt
26 ago 2015 18:57:15

Cosa intendi con questo? Per riattivarlo basta rinominarlo nuovamente. Hai qualche errore o altro?

Karolína Vyskočilová Karolína Vyskočilová
26 ago 2015 19:28:57

Il plugin è stato disattivato tramite l'interfaccia di amministrazione di WordPress. Una volta disattivato non ho più potuto accedere al mio sito. Non c'era nulla da "rinominare" perché non l'ho disattivato rinominandolo via FTP.

Django Reinhardt Django Reinhardt
26 ago 2015 19:33:28

Ho aggiornato la mia risposta, ma è decisamente strano. Quale plugin era? Potresti provare a tornare a twentyfifteen (rinominando il tuo tema), attivarlo e verificare cosa è andato storto, per poi tornare al tuo tema.

Karolína Vyskočilová Karolína Vyskočilová
27 ago 2015 11:20:34