Активировать плагин через PHPMyAdmin или FTP?


18

Я только что отключил плагин на своем сайте, и теперь он дает мне страшный белый экран смерти. Я знаю, что сайт будет в порядке, если я активирую плагин.

Есть ли способ вручную активировать плагин через PHPMyAdmin или через FTP?


вероятно, будет полезно сообщить владельцу плагина, что это произошло. Возможно, плагину нужно немного поработать
Бенни

Ответы:


32

Я исправил это, пройдя через PHPMyAdmin в таблицу «Параметры», а затем строку active_plugins.

У меня там было следующее (отформатировано для удобства чтения):

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

Я добавил новую строку (для отсутствующего плагина) и увеличил a:10до, a:11чтобы указать, что в массиве теперь 11 элементов:

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:Похоже, это номер позиции, и благодаря комментарию JHoffmann, это s:длина строки, которая следует.

Сайт теперь работает как раньше!


2
sОбозначает строку и число следующее является длиной строки.
Джоффманн

@JHoffmann Спасибо за это! Обновил мой ответ. Можете ли вы сказать мне, где вы узнали это? Есть ли где-нибудь хороший ресурс, который объясняет такие вещи? Благодарю.
Джанго Рейнхардт

iна самом деле означает целочисленное значение, sозначает строку, а число рядом с ней sявляется длиной строки
Питер Гусен

1
Это сериализованные данные. У меня нет точного источника, но вы можете посмотреть сериализованные данные. Вы также можете посмотреть на JSON, так как это больше, где используются сериализованные данные
Питер Гусен,

1
@DjangoReinhardt Как сказал Питер Гусен, это сериализованные данные, которые генерируются функцией сериализации php . В WordPress также есть функция-обертка, которая называется 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' );

Если вы хотите активировать более одного плагина, просто повторите ...
Анил Джадхав

array_push ($ active_plugins, 'unyson / unyson.php');
Анил Джадхав

1
Вы также можете добавить if (! in_array ('unyson / unyson.php', $ active_plugins)), чтобы убедиться, что он не будет добавлен более одного раза
Pierre

3

Вы можете просто переименовать папку плагина, например:

"_aksimet"чтобы деактивировать его и затем снова "aksimet"активировать (если он был активен)

Вы можете сделать это со всеми папками «плагинов» вместе.

В противном случае перейдите на MySQL и кратко ознакомьтесь с этим пошаговым руководством :

  1. MYSQL> wp_options
  2. поиск active_pluginsзаписи (оба шага могут быть выполнены SELECT * FROM wp_options WHERE option_name = 'active_plugins';)
  3. и чем написать свой плагин там, как написаны другие плагины ( iэто индекс, sдля длины строки).

Надеюсь, это поможет


Благодарю. Я попытался деактивировать, и оказалось, что код для плагина слишком укоренился на всем сайте. Мне нужен способ активировать его :(
Джанго Рейнхардт

Что ты имеешь в виду? Для реактивации просто переименуйте его обратно. Есть ли у вас ошибки или так?
kybernaut.cz

Плагин был деактивирован через интерфейс WP Admin. Как только он был деактивирован, я больше не мог получить доступ к своему сайту. Переименовать было нечего, так как я не деактивировал его, переименовав по FTP.
Джанго Рейнхардт

Я обновил свой ответ, но это определенно странно. Какой плагин это был? Может быть, вы можете переключиться обратно на двадцать пятнадцать (переименовать вашу тему), активировать ее и проверить, что пошло не так и чем вернуться к вашей теме.
kybernaut.cz

2

Просто еще один ответ на другой подход, который может принести пользу кому-то еще в будущем. Вы также можете переместить папку плагинов в папку Must Use (которую вам, вероятно, понадобится создать, если она не использовалась ранее. Обычно это путь:

wp-content/mu-plugins

Плагины в этой папке всегда будут работать. Обратитесь к следующему для получения дополнительной информации:

https://codex.wordpress.org/Must_Use_Plugins

Примечание: единственное, что нужно учитывать, это то, что эти плагины загружаются раньше других в папке плагинов. Также обратите внимание на предостережения в приведенной выше ссылке, так как могут быть другие проблемы, которые могут помешать правильной работе вашего плагина.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.