我已经使用 ionCube(ver. 8.3) 加密 .tpl,.php 文件,包括 smarty 库文件,我能够通过检查所有混淆选项成功对它们进行编码,并且还能够生成密钥文件。但是当我尝试打开我的 index.php 页面时,它给了我以下错误...
致命错误:在 C:\cc\htdocs\App_Encode\Smarty\libs\Smarty.class.php 中未找到带有消息 'Function 'smartyAutoload' 的未捕获异常 'LogicException'(未找到函数 'smartyAutoload' 或无效的函数名称)': 0 堆栈跟踪:#0 C:\cc\htdocs\App_Encode\Smarty\libs\Smarty.class.php(0):混淆 #1 C:\cc\htdocs\App_Encode\index_standard_creation.php(0):unknown() #2 {main} 在第 0 行的 C:\cc\htdocs\App_Encode\Smarty\libs\Smarty.class.php 中抛出
ionCube 提供的补丁适用于 Smarty 2.* ..因为我使用的是Smarty 3.1.18版本和PHP Ver。5.5 ...
我不知道问题出在哪里,因为我是 PHP 编程新手。我已经尝试在 \libs\plugins\smarty_internal_resource_file.php 中的 getContent() 函数中使用以下补丁 ..但这没有用:(
public function getContent(Smarty_Template_Source $source)
{
if ($source->timestamp) {
if (function_exists('ioncube_read_file')) {
return ioncube_read_file($source->filepath);
} else {
return file_get_contents($source->filepath);
}
}
if ($source instanceof Smarty_Config_Source) {
throw new SmartyException("Unable to read config {$source->type} '{$source->name}'");
}
throw new SmartyException("Unable to read template {$source->type} '{$source->name}'");
}
请帮帮我!!