我升级到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
)。
实际上,这两个插件页面不再可访问,我找不到任何解决方案。
答案 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插件。
就像现在一样,您在网站上激活了插件的原始版本和分叉版本,因此这可能是导致问题的原因。