首页 文章

使用qtranslate-xp时出现致命错误

提问于
浏览
1

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

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

以下是这些行:

// 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 ) .

实际上,这两个插件页面不再可访问,我找不到任何解决方案 .

2 回答

  • 0

    根据qtranslate-xp GitHub页面:

    重要提示:这不是官方qTranslate的扩展 . qTranslate Plus是qTranslate的unOfficial修改版 .

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

    就像现在一样,您在网站上激活了插件的原始版本和分叉版本,因此这可能是导致问题的原因 .

  • 0

    试试下面的代码

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

相关问题