LifeType 中文開發論壇

開發 => 核心補強 => 主題作者是: ehero 於 五月 12, 2006, 12:52:53 上午



主題: 在加载了php_apc模块的情况下,lifetype不支持新版php5
作者: ehero五月 12, 2006, 12:52:53 上午
php_apc是一个缓存模块,采用它可以提高30%以上效率,可以在pecl4win.php.net上下载,目前最新版是for php5.1.2的.

一旦php的扩展中加载了php_apc,我发现lifetype无法支持php5.原因是:

php5的构造函数是用__construct,目前lifetype所有的构造函数均是与类名相同,当子类在调用父类的构造方法时,在新版的PHP下系统就运行不了.

如AdminController 继承Controller ,AdminController这个类的构造方法是AdminController ,在AdminController 方法中调用了 $this->Controller( $actionMap, $defaultActionParam );而Controller是父类的构造方法,此时系统就报错,无法运行下去,目前我的修改办法就是将所有构造方法全部改为__construct(),若需要调用父类的构造方法时则采用parent::__contruct()方式来调用,可是这样一来基本上所有文件都要修改,工作量好大:(
以下是在apache中报的错误日志:
引用
[Fri May 12 02:03:04 2006] [error] [client 192.168.9.1] PHP Fatal error:  Call to undefined method AdminController::Controller() in D:\\myphp\\blog\\class\\controller\\admincontroller.class.php on line 36, referer: http://blog.ownsky.net/
[Fri May 12 02:03:06 2006] [error] [client 192.168.9.1] PHP Fatal error:  Call to undefined method AdminController::Controller() in D:\\myphp\\blog\\class\\controller\\admincontroller.class.php on line 36, referer: http://blog.ownsky.net/
[Fri May 12 02:03:07 2006] [error] [client 192.168.9.1] PHP Fatal error:  Call to undefined method AdminController::Controller() in D:\\myphp\\blog\\class\\controller\\admincontroller.class.php on line 36, referer: http://blog.ownsky.net/
[Fri May 12 02:03:07 2006] [error] [client 192.168.9.1] PHP Fatal error:  Call to undefined method AdminController::Controller() in D:\\myphp\\blog\\class\\controller\\admincontroller.class.php on line 36, referer: http://blog.ownsky.net/


主題: Re: 在加载了php_apc模块的情况下,lifetype不支持新版php5
作者: markwu五月 12, 2006, 09:34:49 上午
這是 APC 本身的問題,因為在 Native php5 的環境下並沒有發生這樣的問題。

我不建議用APC,建議你使用 eAccelerator,他的 Performance 比 APC 更快上 30%。

Mark


主題: Re: 在加载了php_apc模块的情况下,lifetype不支持新版php5
作者: ehero五月 13, 2006, 12:59:03 上午
好的,多谢指点 :-D