Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php WordPress是否通过数据库停用插件?_Php_Wordpress - Fatal编程技术网

Php WordPress是否通过数据库停用插件?

Php WordPress是否通过数据库停用插件?,php,wordpress,Php,Wordpress,我有一个wordpress脚本,wp supercache,我需要禁用它(因为它缓存在一个严重的错误上),但是,这个错误导致wp admin重定向失败,这意味着我无法进入站点禁用插件 有什么建议吗?我可以通过cpanel访问数据库。尝试重新命名插件的文件夹,然后查看错误是否消失(当然要先备份)。如果没有帮助,那么。您只需重命名/wp content/plugins/中的文件夹,插件将自动停用。一旦停用,您就可以登录。要禁用站点上的所有Wordpress插件: 登录到您的数据库管理工具(例如PHP

我有一个wordpress脚本,wp supercache,我需要禁用它(因为它缓存在一个严重的错误上),但是,这个错误导致wp admin重定向失败,这意味着我无法进入站点禁用插件


有什么建议吗?我可以通过cpanel访问数据库。

尝试重新命名插件的文件夹,然后查看错误是否消失(当然要先备份)。如果没有帮助,那么。

您只需重命名/wp content/plugins/中的文件夹,插件将自动停用。一旦停用,您就可以登录。

要禁用站点上的所有Wordpress插件:

  • 登录到您的数据库管理工具(例如PHPMyAdmin)
  • 执行以下查询:

  • updatewp\u options SET option\u value='',其中option\u name='active\u plugins'

    要禁用某个特定插件,必须将其从存储所有插件列表的序列化字符串中删除,该字符串在
    wp\u options
    表的
    option\u value
    列中设置,如@TimDurden所述。您必须进行的特定格式更改是:

    第一组字符-
    a:4
    -指定数组及其长度。还要注意,插件列表中的每一行都有一个索引。因此:

  • 减小索引(在这种情况下,从4到3)
  • 在每一行中,减少
    i:
  • 删除要禁用的特定插件 使用通过以下步骤构造的新字符串更新数据库中的值:

    update wp_options set option_value=<new value> where option_id=<id of this option>
    
    updatewp\u options set option\u value=where option\u id=
    

    请注意,您的表名可能不是wp_选项-您可能需要添加一个前缀。

    请稍后回答,但请稍后回答,因为这对将来的人很有用。所有插件都以序列化方式存储在wp_options表中。您可以手动编辑此字段。或者,如果使用php中使用unserialize()之类的函数对其进行unserialize,则会得到一个数组。只需对其进行修改,以从该阵列中删除要删除的插件,然后将其序列化回来。然后更新表。就这样。如果你想了解更多,这是一篇好文章。它解释了这一切。

    另一种方法是备份站点,然后将/wp content/plugins/下的插件文件夹重命名为其他名称。因此插件将被禁用。 我不喜欢删除插件文件夹,因为它可能会导致错误。
    完成此步骤后,登录到wordpress站点并从中删除插件

    我在.dot中编写了一个小exe来修复/删除数据库中的选项字符串

  • 下载exe
  • 在MySQL服务器上运行
  • 从wp_选项中选择*选项,其中选项_名称='active_plugins'

  • 在文本框中粘贴结果,按parse
  • 去掉那些你不想要的
  • 单击“输出”,它将输出复制到剪贴板
  • 将下面单引号内的括号替换为输出,并在MySQL服务器上运行
  • 更新wp_options SET option_value='[将内部单引号替换为输出'WHERE option_name='active_plugins'

  • 没有保证…我不声称自己是程序员

  • 使用此代码,您可以从
    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' );
    

    您只需更改数据库中“active_plugins”记录中的值,即可找到进程

  • 备份数据库或仅备份wp_选项表
  • 从wp_选项中选择选项_值,其中选项_名称='活动_插件'

  • 复制所选字符串(序列化字符串)并粘贴到
  • 删除要停用的插件的行
  • 从右侧复制序列化的结果字符串,并用它更新活动的\u plugins值

    更新wp_选项 设置选项\u值='新的\u序列化的\u字符串' 其中选项_name='active_plugins'限制1


  • 这对我来说效果很好。我安装了captcha插件,但无法进入管理区域…我只是去了文件管理器并重命名了插件文件夹名称…插件被停用。这在大多数情况下都能正常工作。但是,有时插件所做的更改只有在通过UI卸载时才会回滚。。即使用。@StevendeSalas:问题是关于如何禁用破坏管理UI的插件。如果他们无法登录UI,他们将无法使用它卸载插件。删除插件文件夹太多。只需重命名它,如下面的答案所述。这适用于WordPress 2.9及以后的版本。对于2.9以上的版本,正确的SQL is
    updatewp\u options SET option\u value='a:0:{},其中option\u name='active\u plugins';
    正如这里提到的那样,为您提供指南
    unyson:-它是插件文件夹名unyson.php:-插件主文件如果您想一次激活多个插件,只需重复array\u push($active\u plugins,'unyson/unyson.php'));带有插件文件夹名称和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' );