我正在使用 ioncube 对我的脚本进行编码。
但我不知道服务器上安装的加载程序版本。
是否有任何方法或任何代码或任何功能来显示IONCUBE加载程序版本的确切版本?
这是一个老问题,但知道找出 ionCube Loader 确切版本的最简单方法是通过 SSH 连接到服务器并键入
php -v
这会给你类似的东西:
PHP 5.5.30 (cli) (...)
with the ionCube PHP Loader v4.7.5, Copyright (c) 2002-2014, by ionCube Ltd.(...)
如果安装了 Loader,您可以通过在 Loader API 中调用 ioncube_loader_version() 或 ioncube_loader_iversion() 以编程方式检索它。
如果在调用时安装了 Loader,建议的 phpinfo() 也会显示 Loader 版本。
用户指南 PDF 包含有关 Loader API 的更多详细信息。
您可以简单地使用phpinfo()
. 如果要检查它是否已加载,可以使用extension_loaded()
.
<?php
phpinfo();
Use the following function. phpinfo not work if listed in disable_functions
function GetIonCubeLoaderVersion() {
if (function_exists('ioncube_loader_version')) {
$version = ioncube_loader_version();
$a = explode('.', $version);
$count = count($a);
if ($count == 3) {
return $version;
} elseif ($count == 2) {
return $version . ".0";
} elseif ($count == 1) {
return $version . ".0.0";
}
$version = implode('.', array_slice($a, 0, 3));
return $version;
}
return 'Not Found!';
}
这是我从 phpInfo 获取 ionCube 版本的解决方案:
function GetIonCubeLoaderVersion()
{
ob_start();
phpinfo(INFO_GENERAL);
$aux = str_replace(' ', ' ', ob_get_clean());
if($aux !== false)
{
$pos = mb_stripos($aux, 'ionCube PHP Loader');
if($pos !== false)
{
$aux = mb_substr($aux, $pos + 18);
$aux = mb_substr($aux, mb_stripos($aux, ' v') + 2);
$version = '';
$c = 0;
$char = mb_substr($aux, $c++, 1);
while(mb_strpos('0123456789.', $char) !== false)
{
$version .= $char;
$char = mb_substr($aux, $c++, 1);
}
return $version;
}
}
return false;
}