ioncube“路径/到/file.php已损坏”错误

时间:2018-11-07 16:43:33

标签: php wordpress ioncube

我有一个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在服务器上正常运行。 我该怎么办?

1 个答案:

答案 0 :(得分:0)

“已损坏”(而不是“已损坏”)来自ionCube文件开始处的PHP序言,它指示ionCube Loader认为该文件可能不是ionCube文件。如果它具有前导,则将永远不会执行,因为加载程序将接管文件的处理。原因之一是对显示在编码数据之前的文本大小进行了重大更改,例如,如此处所述,美化了通常紧凑的PHP代码。您应该确保使用的是脚本提供者提供的未经修改的原始文件,如果仍然遇到问题,请联系ionCube支持。如果收到“已损坏”消息,则通常表明加载程序已将文件识别为ionCube文件,但已损坏,例如通过删除开发人员嵌入的版权文本。