qtranslate-xp 出现致命错误
Got a fatal error with qtranslate-xp
我升级到wordpress 4.8.1后重装了一个网站,激活qtranslate-xp插件时出现致命错误:
Cannot redeclare qs_base64_serialize() (previously declared in /home/xxx/www/xxx/wp-content/plugins/qtranslate/qtranslate_services.php:80) in /home/xxx/www/xxx/wp-content/plugins/qtranslate-xp/ppqtranslate_services.php on line 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
).
实际上,这 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;
}
}
根据qtranslate-xpGitHub页面:
IMPORTANT: This is not an Extension of the official qTranslate.
qTranslate Plus is an unOfficial modified version of qTranslate.
由于 qTranslate-xp 是一个完整的插件而不是 qTranslate 的附加组件,您应该删除或至少停用原始 qTranslate 插件。
现在,您的网站上同时激活了插件的原始版本和分叉版本,所以这可能是您遇到问题的原因。
我升级到wordpress 4.8.1后重装了一个网站,激活qtranslate-xp插件时出现致命错误:
Cannot redeclare qs_base64_serialize() (previously declared in /home/xxx/www/xxx/wp-content/plugins/qtranslate/qtranslate_services.php:80) in /home/xxx/www/xxx/wp-content/plugins/qtranslate-xp/ppqtranslate_services.php on line 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
).
实际上,这 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;
}
}
根据qtranslate-xpGitHub页面:
IMPORTANT: This is not an Extension of the official qTranslate.
qTranslate Plus is an unOfficial modified version of qTranslate.
由于 qTranslate-xp 是一个完整的插件而不是 qTranslate 的附加组件,您应该删除或至少停用原始 qTranslate 插件。
现在,您的网站上同时激活了插件的原始版本和分叉版本,所以这可能是您遇到问题的原因。