yii使用ice的问题(已解决)

我现在在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对老的程序而言确实比较头疼