我在任何古老的Zend Framework版本0.6和PHP 5.1.6中使用'MJS_Controller_PathRouter'。当我在较新的php版本中运行时,例如5.2.x或5.3.x,它抛出了这个错误:
宣言 MJS_Controller_Router_PathRoute :: __结构() 必须与之相容 Zend_Controller_Router_Route_Interface :: __ construct()in /opt/ezxwebadmin-versions/ezxwebadmin_2.11.5/Library/MJS/Controller/Router/PathRoute.php 在第34行
我想删除这个增强的重写路由器并升级我们的应用程序以使用更新的Zend Framework版本。我们的Web应用程序不使用Zend提供的任何类,我们只使用Zend框架中的MVC架构和重写功能。
现在有人可以建议哪个Zend Framework版本最适合我们升级到?
答案 0 :(得分:1)
您获得的错误实际上是PHP严格的编码标准错误,应该很容易修复。只需打开Zend_Controller_Router_Route_Interface
和MJS_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。
答案 1 :(得分:0)
你应该仔细看看Zend Framework Migration Notes从0.8
开始然后查看Zend Framework Download Archives并按版本升级您的框架版本(按照迁移说明中列出的版本),以获得适用于您拥有的PHP版本或(理想情况下)最新版本: 1.11.x