主題: 在加载了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
|