【问题标题】:PHP - BLENC extension - Yii FrameworkPHP - BLENC 扩展 - Yii 框架
【发布时间】:2015-06-01 12:31:08
【问题描述】:

我正在尝试保护我的 Web 系统应用程序的一些代码。

为此,我正在尝试使用 PHP 的 BLENC 扩展。

原因

因为客户有要求,所以请不要混淆主题。

问题

结果是 BLENC 扩展程序可以很好地使用简单的脚本,但是......我的网络应用程序是使用 YII 框架制作的,当我尝试访问该网站时,它返回以下错误消息......

我的浏览器中的错误输出:

include(Controller.php): failed to open stream: No such file or directory 

/opt/lampp/htdocs/vial/yii/framework/YiiBase.php(427)

                    {
                         include($classFile);
                         if(YII_DEBUG && basename(realpath($classFile))!==$className.'.php')
                             throw new CException(Yii::t('yii','Class name "{class}" does not match class file "{file}".', array(
                                 '{class}'=>$className,
                                 '{file}'=>$classFile,
                             )));
                         break;
                     }
                 }
             }
             else
                 include($className.'.php'); //<-----ERROR POINTING HERE
         }
         else  // class name with namespace in PHP 5.3
         {
             $namespace=str_replace('\\','.',ltrim($className,'\\'));
             if(($path=self::getPathOfAlias($namespace))!==false)
                 include($path.'.php');
             else
                 return false;
         }
         return class_exists($className,false) || interface_exists($className,false);
     }
     return true;

额外

我做的唯一一件事就是在“php.ini”中激活 BLENC 扩展,使用以下代码:

extension=blenc.so
blenc.key_file="/opt/lampp...."

我没有加密任何 php 文件,我收到此错误消息。

额外2

当我停用“php.ini”中的扩展时,我的网络应用程序再次正常运行....所以....

问题

发生了什么事?,我添加了 PHP 扩展(我知道它可以正常工作),但我没有加密任何 php 文件,尝试运行我的网络应用程序,我得到错误....我不知道是什么正在发生。

我是否有加密文件都没有关系...一旦我激活扩展...我的网络应用程序停止工作,向我显示 Yii 框架错误消息。

【问题讨论】:

    标签: php yii frameworks blenc


    【解决方案1】:

    Yii 自动加载系统好像坏了。

    所以可能自动加载器失败了,因为 Blenc 有自己的自动加载器,以某种方式影响了 Yii。

    加载扩展时可能会更改 PATH,即使这样我也不确定 Yii 是如何使用它的。

    还要确保这不是 Yii 或扩展名的问题,而是文件命名的问题。 Yii 不会加载名为“Controller”的类,如果文件名是“controller.php”或者文件内部类的定义有不同的大小写,它必须匹配大小写。在 Windows 中可能会起作用,但在 Linux 中总是区分大小写。

    链接:

    http://www.yiiframework.com/forum/index.php/topic/22756-why-does-autoload-not-work/ Encrypt PHP source code in Yii

    所以也许你可以测试另一个工具,看看你是否得到同样的错误,这样你就知道它应该是 Yii 还是因为该扩展程序内部的某些东西。

    【讨论】:

    • 提前致谢,我会继续寻找,有消息会通知您。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-11
    • 1970-01-01
    • 2012-03-22
    • 1970-01-01
    • 2016-01-14
    • 2015-11-16
    相关资源
    最近更新 更多