使用ZendGuard加密代码时找不到Zend_Log类

时间:2012-11-20 08:57:40

标签: php magento

我正在尝试使用ZendGuard 5.5 for PHP5.3锁定一些PHP,并且在PHP 5.2下没有任何问题。我可以很好地运行未加密的代码,但是当我添加加密时,它会引发以下错误:

致命错误:Class' Zend_Log'在第0行的../app/code/local/MyModule/TestModule/Model/Mysql4/Setup.php中找不到

如果我开始使用未加密的版本替换故障文件,则错误会移至模块中的其他加密文件。

以下是放在每个PHP文件顶部以启用许可证支持的代码。 此代码实际上适用于最近编程的另一个新模块。

if(zend_loader_file_encoded()) {

    if(!zend_loader_enabled() || !zend_get_id()) {

        exit('<strong>Error:</strong> The Zend Optimizer loader is not enabled! <br /><br />To enable it, please modify the following in your php.ini:  zend_optimizer.enable_loader = on.');
                                                }

            else if(!zend_loader_file_licensed()){
                $licensePath = Mage::getModuleDir('etc', 'MyModule_TestModule'). DS . 'license' . DS . 'license.zl';
                    if(!file_exists($licensePath)) {
                        exit("<strong>Error:</strong> No license file was found. Your license file should be located in: $licensePath. <br /><br />If you do not have a license, you need to obtain one from the Dev Team by contacting: <a href=\"mailto:devteam@site.com\">devteam@site.com</a>.");
                                               } 

if(!zend_loader_install_license($licensePath)) {
exit('<strong>Error:</strong> An error occurred while loading your license file. Please contact support at <a href="mailto:devteam@site.com">devteam@site.com</a>.');
                       }
                    }
                }

我已经搜索过低和高,并且不能为我的生活找到这个。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

我遇到了类似的未找到的课程&#39;用ZendGuard编码一些代码后出错。

通过对变量,函数和类名称进行模糊处理进行重新编码,为我解决了这个问题。

ZendGuard编码器似乎无法处理某些类型的异常但合法的PHP语法。