我正在使用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();
使用以下函数。phpinfo如果列在disable_functions 中则不起作用
function GetIonCubeLoaderVersion() {
if (function_exists('ioncube_loader_iversion')) {
$version = ioncube_loader_iversion();
$version = sprintf('%d.%d.%d', $version / 10000, ($version / 100) % 100, $version % 100);
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;
}