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

时间:2017-09-07 11:52:14

标签: wordpress fatal-error qtranslate

我升级到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中声明)第91行/qtranslate-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 :(得分: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;
 }
}

答案 1 :(得分:0)

根据qtranslate-xp GitHub页面:

  

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

     

qTranslate Plus是qTranslate的无效修改版本。

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

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