【问题标题】:Got a fatal error with qtranslate-xpqtranslate-xp 出现致命错误
【发布时间】:2018-02-16 03:36:32
【问题描述】:

我在升级到 wordpress 4.8.1 后重新安装了一个网站,当我激活 qtranslate-xp 插件时出现致命错误:

无法在 /home/xxx/www/xxx/wp-content/plugins 中重新声明 qs_base64_serialize()(之前在 /home/xxx/www/xxx/wp-content/plugins/qtranslate/qtranslate_services.php:80 中声明) /qtranslate-xp/ppqtranslate_services.php 在第 91 行

下面是几行:

// serializing/deserializing functions
function qs_base64_serialize($var) {
    if(is_array($var)) {
        foreach($var as $key => $value) {
            $var[$key] = qs_base64_serialize($value);
        }
    }
    $var = serialize($var);
    $var = strtr(base64_encode($var), '-_,', '+/=');
    return $var;
}

我试图评论这些行,但后来又遇到了另一个致命错误。

qtranslate 主插件 (Version 2.5.39 | By Qian Qin) 似乎已正确激活但不起作用。 Qtranslate Plus:Version 2.7.2 | By Papa Salvatore Mirko (Originally created by Qian Qin)。

实际上,这两个插件页面已经无法访问了,我也找不到任何解决方案。

【问题讨论】:

    标签: wordpress fatal-error qtranslate


    【解决方案1】:

    根据qtranslate-xpGitHub页面:

    重要提示:这不是官方 qTranslate 的扩展。

    qTranslate Plus 是 qTranslate 的非官方修改版。

    由于 qTranslate-xp 是一个完整的插件,而不是 qTranslate 的附加组件,您应该删除或至少停用原始的 qTranslate 插件。

    现在,您的网站上激活了插件的原始版本和分叉版本,因此这可能是您的问题的原因。

    【讨论】:

    • 嗯......我先做了,但遇到了同样的致命错误......而且很困惑。但是,你是对的!我又做了一次,现在似乎可以了。非常感谢。
    【解决方案2】:

    试试下面的代码

    if (!function_exists('qs_base64_serialize')) {
    function qs_base64_serialize(){
     if(is_array($var)) {
        foreach($var as $key => $value) {
            $var[$key] = qs_base64_serialize($value);
        }
     }
     $var = serialize($var);
     $var = strtr(base64_encode($var), '-_,', '+/=');
     return $var;
     }
    }
    

    【讨论】:

    • 对不起,这是我的错误,请检查
    • 感谢您的回复。我做到了,也做到了 qs_base64_unserialize 这是相同的模式。并且致命错误将在稍后调用下一个函数: // 向 qTranslate Services 发送加密消息并解密接收到的数据。我想知道问题是否来自目前无法访问的 www.qianqin.de 网站。
    • 不幸的是。没有。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-02
    • 1970-01-01
    • 2014-12-14
    • 1970-01-01
    相关资源
    最近更新 更多