我现在在yii中要用到ice模块,在yii外是OK的,但是在yii中调用 Ice_loadProfile函数时,可能这个内部要调用ice_exception类或者方法,但yii报错:YiiBase::include(ice_exception.php) [<a href=‘yiibase.include’>yiibase.include</a>]: failed to open stream: No such file or directory
请问有没有遇到过?我是菜鸟,弱弱的问一下,有没可能在个时候禁止yii自动加载,或者调整加载优先级?
初步发现这是因为ice 3.3.1版本之前的Ice_loadProfile函数和php5的自动加载有冲突。
调用这个函数之前unregister 调用过后再register
spl_autoload_unregister(array('YiiBase','autoload')); Ice_loadProfile(); spl_autoload_register(array('YiiBase','autoload'));
还有一种方式是在Yii application初始化之前加载ICE,即在index.php中的Yii::createWebApplication($config)->run();之前加载
因为这时Yii的autoload还没加载
我在Ice3.4.x里测试通过
对~不过我不是每次都要加载ice~~
autoload对老的程序而言确实比较头疼