2011-05-16 165 views
1

我在任何古老的Zend Framework版本0.6和PHP 5.1.6中使用'MJS_Controller_PathRouter'。当我在一个更新的PHP版本中运行这个例如5.2.x或5.3.x,则应是引发此错误:升级Zend框架建议

Declaration of MJS_Controller_Router_PathRoute::__construct() must be compatible with that of Zend_Controller_Router_Route_Interface::__construct() in /opt/ezxwebadmin-versions/ezxwebadmin_2.11.5/Library/MJS/Controller/Router/PathRoute.php on line 34

我想删除此增强重写路由器和提升我们的应用程序中使用新的Zend Framework版本。我们的Web应用程序不使用Zend提供的任何类,而只使用Zend框架中的MVC架构和重写功能。

现在任何人都可以建议哪个Zend Framework版本最适合我们升级到?

+0

它始终是最新的。这是唯一的一个,包括每一个错误和安全修复。 – KingCrunch 2011-05-16 08:19:29

+0

如果你只使用MVC部件,那么我可以给出的最好的建议是去掉那个部件,去做一些简单和可测试的东西。 – Gordon 2011-05-16 08:32:03

+0

是的。我也在考虑使用最新版本。但问题出在我们已经部署了这个Web应用程序的服务器上使用PHP 5.1.6,那么如果不需要升级PHP 5.1.6到5.3.x,我是否也可以升级这些服务器上的Web应用程序? – 2011-05-16 09:00:11

回答

1

你得到的错误实际上是一个PHP严格的编码标准错误,应该很容易修复。只需打开Zend_Controller_Router_Route_InterfaceMJS_Controller_Router_PathRoute并比较__construct方法的参数。它们需要保持一致,因此请更改您的课程以匹配界面中的参数。

Zend Framework需要PHP 5.2.4。 ZF2将需要PHP 5.3+。 PHP 5.1.6已经差不多5年了,所以你应该升级(或计划)。如果你正在使用像CentOS这样的古老的PHP软件包,你可能会考虑转换到Zend Server社区版(这是免费的)。这可以与Yum一起安装,并且会为您提供更新的PHP版本。

+0

+1为建议升级PHP。 – KingCrunch 2011-05-16 15:09:58

+0

感谢您的建议。首先,我修复了这个'MJS_Controller_Router_PathRoute',并确保它与'Zend_Controller_Router_Route_Interface'兼容。还同意将PHP从5.1.6升级到5.2.x/5.3.x。 – 2011-05-18 09:49:19

0

你应该采取的Zend Framework Migration Notes的密切关注始于0.8

然后通过Zend Framework Download Archives外观和版本升级您的Framework版本(遵循迁移说明中列出的版本),要么得到可用的版本与你有PHP或(理想情况下)最新版本:1.11.x

+0

我检查了迁移说明,它们很好。谢谢你指点我。 – 2011-05-18 09:51:32