我有一个wordpress网站,安装插件后突然崩溃了,并且出现错误消息:“ / home / omdikalc / public_html / wp-content / themes / martfury / functions.php文件已损坏。” 该错误所指向的文件是我主题的function.php文件,并且该文件使用ioncube进行了编码,并且包含这部分引发错误的代码:
<?php //00543
// Encoded by www.Rtl-Theme.com
// Encoded at 24 August 2018 - 15:14:53
if (!extension_loaded('ionCube Loader')) {
$__oc = strtolower(substr(php_uname(), 0, 3));
$__ln = 'ioncube_loader_' . $__oc . '_' . substr(phpversion(), 0, 3) . (($__oc == 'win') ? '.dll' : '.so');
if (function_exists('dl')) {
@dl($__ln);
}
if (function_exists('_il_exec')) {
return _il_exec();
}
$__ln = '/ioncube/' . $__ln;
$__oid = $__id = realpath(ini_get('extension_dir'));
$__here = dirname(__FILE__);
if (strlen($__id) > 1 && $__id[1] == ':') {
$__id = str_replace('\\', '/', substr($__id, 2));
$__here = str_replace('\\', '/', substr($__here, 2));
}
$__rd = str_repeat('/..', substr_count($__id, '/')) . $__here . '/';
$__i = strlen($__rd);
while ($__i--) {
if ($__rd[$__i] == '/') {
$__lp = substr($__rd, 0, $__i) . $__ln;
if (file_exists($__oid . $__lp)) {
$__ln = $__lp;
break;
}
}
}
if (function_exists('dl')) {
@dl($__ln);
}
} else {
die('The file ' . __FILE__ . " is corrupted.\n");
}
if (function_exists('_il_exec')) {
return _il_exec();
}
echo ("Site error: the " . (php_sapi_name() == 'cli' ? 'ionCube' : '<a href="http://www.ioncube.com">ionCube</a>') . " PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit " . (php_sapi_name() == 'cli' ? 'get-loader.ioncube.com' : '<a href="http://get-loader.ioncube.com">get-loader.ioncube.com</a>') . " for install assistance.\n\n");
exit(199);
?>
我联系了主题提供者,他们说代码没有错,问题出在主机服务器上。 我与我的网站托管服务提供商竞争,他们说ioncube在服务器上正常运行。 我该怎么办?
答案 0 :(得分:0)
“已损坏”(而不是“已损坏”)来自ionCube文件开始处的PHP序言,它指示ionCube Loader认为该文件可能不是ionCube文件。如果它具有前导,则将永远不会执行,因为加载程序将接管文件的处理。原因之一是对显示在编码数据之前的文本大小进行了重大更改,例如,如此处所述,美化了通常紧凑的PHP代码。您应该确保使用的是脚本提供者提供的未经修改的原始文件,如果仍然遇到问题,请联系ionCube支持。如果收到“已损坏”消息,则通常表明加载程序已将文件识别为ionCube文件,但已损坏,例如通过删除开发人员嵌入的版权文本。