2017-09-07 89 views
1

我重新安裝了一個網站升級到WordPress 4.8.1後,我有一個致命的錯誤,當我激活qtranslate-XP插件:得到致命錯誤qtranslate-XP

不能重新聲明qs_base64_serialize()(先前在/home/xxx/www/xxx/wp-content/plugins/qtranslate-xp/ppqtranslate_services.php上在/home/xxx/www/xxx/wp-content/plugins/qtranslate/qtranslate_services.php:80中聲明) 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)。

實際上,這兩個插件頁面不再可用,我也找不到任何解決方案。

回答

0

根據qtranslate-xp GitHub的頁面:

重要:這是不是官方qTranslate的擴展。

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

由於qTranslate-xp是一個完整的插件,而不是qTranslate的附加組件,因此您應該刪除或至少禁用原始的qTranslate插件。

現在,您的網站上同時激活了插件的原始版本和分發版本,因此這可能是導致問題的原因。

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

我仍然有同樣的致命錯誤。 –

+0

對不起,這是我的錯誤,現在請檢查 –

+0

Thx爲您的答覆。我做到了,並且也是與qs_base64_unserialize相同的模式。然後致命的錯誤將在下一個函數中調用://向qTranslate Services發送加密消息並解密接收到的數據。 我想知道這個問題是不是來自目前無法訪問的www.qianqin.de網站。 –