function loader_not_installed()
{
    $loader = get_loaderinfo();
    $sysinfo = get_sysinfo();
    $stype = get_request_parameter('stype');
    $manual_select = get_request_parameter('manual');
    $host_type = find_server_type($stype, $manual_select, true);
    if ($host_type != SERVER_UNKNOWN && is_array($loader) && !$sysinfo['DEBUG_BUILD']) {
        $warnings = server_restriction_warnings();
        if (empty($_SESSION['use_ini_method']) && $host_type == SERVER_SHARED && runtime_loading_is_possible()) {
            $errors = runtime_loading_errors();
        } else {
            $errors = ini_loader_errors();
            $warnings = array_merge($warnings, ini_loader_warnings());
        }
        if (!empty($errors)) {
            if (count($errors) > 1) {
                $problem_str = "Please note that the following problems currently exist";
            } else {
                $problem_str = "Please note that the following problem currently exists";
            }
            echo '<div class="alert">' . $problem_str . ' with the ionCube Loader installation:';
            echo make_list($errors, "ul");
            echo '</div>';
        }
        if (!empty($warnings)) {
            $addword = empty($errors) ? '' : 'also';
            $plural = count($warnings) > 1 ? 's' : '';
            echo '<div class="warning">';
            echo "Please note {$addword} the following issue{$plural}:";
            echo make_list($warnings, "ul");
            echo '</div>';
        }
    }
    if (!isset($stype)) {
        echo '<p>To use files that have been protected by the <a href="' . ENCODER_URL . '" target=encoder>ionCube PHP Encoder</a>, a component called the ionCube Loader must be installed.</p>';
    }
    if (!is_supported_php_version()) {
        echo '<p>Your server is running PHP version ' . PHP_VERSION . ' and is
                unsupported by ionCube Loaders.  Recommended PHP 4 versions are PHP 4.2 or higher, 
                and PHP 5.1 or higher for PHP 5.</p>';
    } elseif ($sysinfo['DEBUG_BUILD']) {
        echo '<p>Your server is currently running a debug build of PHP. The Loader cannot be installed with a debug build of PHP. Please ensure that PHP is reconfigured with debug disabled. Note that debug builds of PHP cannot help in debugging PHP scripts.</p>';
    } elseif (!is_array($loader)) {
        if ($loader == ERROR_WINDOWS_64_BIT) {
            echo '<p>Loaders for 64-bit PHP on Windows are not currently available. However, if you <b>install and run 32-bit PHP</b> the corresponding 32-bit loader for Windows should work.</p>';
            if ($sysinfo['THREAD_SAFE']) {
                echo '<li>Download one of the following archives of 32-bit Windows x86 loaders:';
            } else {
                echo '<li>Download one of the following archives of 32-bit Windows non-TS x86 loaders:';
            }
            echo make_archive_list(windows_package_name());
        } else {
            echo '<p>There may not be an ionCube Loader available for your type of system at the moment. However, if you create a <a href="' . SUPPORT_SITE . '">support ticket</a> more advice and information may be available to assist. Please include the URL for this Wizard in your ticket.</p>';
        }
    } elseif (!$sysinfo['SUPPORTED_COMPILER']) {
        $supported_compilers = supported_win_compilers();
        $supported_compiler_string = join('/', $supported_compilers);
        echo '<p>At the current time the ionCube Loader requires PHP to be built with ' . $supported_compiler_string . '. Your PHP software has been built using ' . $sysinfo['PHP_COMPILER'] . '. Supported builds of PHP are available from <a href="http://windows.php.net/download/">PHP.net</a>.';
    } else {
        switch ($host_type) {
            case SERVER_SHARED:
                shared_server();
                break;
            case SERVER_DEDICATED:
                dedicated_server();
                break;
            case SERVER_LOCAL:
                local_install();
                break;
            default:
                echo server_selection_form();
                break;
        }
    }
}
Beispiel #2
0
function loader_not_installed()
{
    $loader = get_loaderinfo();
    $sysinfo = get_sysinfo();
    $stype = get_request_parameter('stype');
    $manual_select = get_request_parameter('manual');
    if (!isset($stype)) {
        echo '<p>To use files that have been protected by the <a href="' . ENCODER_URL . '" target=encoder>ionCube PHP Encoder</a>, a component called the ionCube Loader must be installed.</p>';
    }
    if (!is_array($loader)) {
        if ($loader == ERROR_WINDOWS_64_BIT) {
            echo '<p>Loaders for 64-bit PHP on Windows are not currently available. However, if you <b>install and run 32-bit PHP</b> the corresponding 32-bit Loader for Windows should work.</p>';
            if ($sysinfo['THREAD_SAFE']) {
                echo '<li>Download one of the following archives of 32-bit Windows x86 Loaders:';
                $basename = LOADERS_PACKAGE_PREFIX . 'win_x86';
            } else {
                $basename = LOADERS_PACKAGE_PREFIX . 'win_nonts_x86';
                echo '<li>Download one of the following archives of 32-bit Windows non-TS x86 Loaders:';
            }
            echo make_archive_list($basename);
        } else {
            echo '<p>There may not be a Loader available for your type of system at the moment, however if you create a <a href="' . SUPPORT_SITE . '">support ticket</a> more advice and information may be available to assist. Please include the URL for this Wizard in your ticket.</p>';
        }
    } else {
        if (!is_supported_php_version()) {
            echo '<p>Your server is running PHP version ' . PHP_VERSION . ' and is
                    unsupported by ionCube Loaders.  Recommended PHP 4 versions are PHP 4.2 or higher, 
                    and PHP 5.1 or higher for PHP 5.</p>';
        } elseif (!$sysinfo['SUPPORTED_COMPILER']) {
            $supported_compilers = supported_win_compilers();
            $supported_compiler_string = join('/', $supported_compilers);
            echo '<p>At the current time the ionCube Loader requires PHP to be built with ' . $supported_compiler_string . '. Your PHP software has been built using ' . $sysinfo['PHP_COMPILER'] . '. Supported builds of PHP are available from <a href="http://windows.php.net/download/">PHP.net</a>.';
        } else {
            if (!in_array($stype, array('s', 'd', 'l'))) {
                if (!$manual_select && is_local()) {
                    local_install();
                } elseif (!$manual_select && !is_possibly_dedicated_or_local()) {
                    shared_server();
                } else {
                    echo server_selection_form();
                }
            } else {
                switch ($stype) {
                    case 's':
                        shared_server();
                        break;
                    case 'd':
                        dedicated_server();
                        break;
                    case 'l':
                        local_install();
                        break;
                }
            }
        }
    }
}
Beispiel #3
0
function loader_not_installed()
{
    $loader = get_loaderinfo();
    $sysinfo = get_sysinfo();
    $stype = get_request_parameter('stype');
    $manual_select = get_request_parameter('manual');
    $host_type = find_server_type($stype, $manual_select, true);
    if ($host_type != SERVER_UNKNOWN && is_array($loader) && !$sysinfo['DEBUG_BUILD']) {
        $warnings = server_restriction_warnings();
        if (empty($_SESSION['use_ini_method']) && $host_type == SERVER_SHARED && runtime_loading_is_possible()) {
            $errors = runtime_loading_errors();
        } else {
            $errors = ini_loader_errors();
            $warnings = array_merge($warnings, ini_loader_warnings());
        }
        if (!empty($errors)) {
            echo '<div class="alert">' . '请注意,Ioncube Loader的安装目前存在以下问题:';
            echo make_list($errors, "ul");
            echo '</div>';
        }
        if (!empty($warnings)) {
            $addword = empty($errors) ? '' : 'also';
            $plural = count($warnings) > 1 ? 's' : '';
            echo '<div class="warning">';
            echo "注意以下问题:";
            echo make_list($warnings, "ul");
            echo '</div>';
        }
    }
    if (!isset($stype)) {
        echo '<p>文件已经被 <a href="' . ENCODER_URL . '" target=encoder>ionCube PHP Encoder</a>加密保护, 必须安装ionCube Loader组件。</p>';
    }
    if (!is_supported_php_version()) {
        echo '<p>服务器目前运行的PHP版本为 ' . PHP_VERSION . ' ,ionCube Loaders支持该版本,同时还支持PHP4系列 PHP 4.2或更高版本, PHP5系列PHP 5.1 或更高版本。</p>';
    } elseif ($sysinfo['DEBUG_BUILD']) {
        echo '<p>服务器运行的PHP是Debug版本, Loader 不支持Debug版本。请确保使用非debug版本重新配置。</p>';
    } elseif (!is_array($loader)) {
        if ($loader == ERROR_WINDOWS_64_BIT) {
            echo '<p>Windows 64位的Loaders是可用的。但是如果你<b>安装并运行32位的PHP</b>,请使用相应32位的loader</p>';
            if ($sysinfo['THREAD_SAFE']) {
                echo '<li>下载下面的32位x86 Windows loader包:';
            } else {
                echo '<li>下载下面的一个32位x86 Windows非线程安全版本的Windows loader包:';
            }
            echo make_archive_list(windows_package_name());
        } else {
            echo '<p>ionCube Loader可能没有符合您操作系统的版本,但是,如果你创建了一个<a href="' . SUPPORT_SITE . '">支持服务单</a>, 可能会需要更多的帮助, 请在工单中包含该向导的URL。</p>';
        }
    } elseif (!$sysinfo['SUPPORTED_COMPILER']) {
        $supported_compilers = supported_win_compilers();
        $supported_compiler_string = join('/', $supported_compilers);
        echo '<p>目前,ionCube Loader 需要使用' . $supported_compiler_string . '编译的PHP。你服务器的PHP是使用 ' . $sysinfo['PHP_COMPILER'] . '.编译的, 可以从<a href="http://windows.php.net/download/">PHP.net</a>下载合适的编译版本。';
    } else {
        switch ($host_type) {
            case SERVER_SHARED:
                shared_server();
                break;
            case SERVER_DEDICATED:
                dedicated_server();
                break;
            case SERVER_LOCAL:
                local_install();
                break;
            default:
                echo server_selection_form();
                break;
        }
    }
}