Zend Framework 1与PHP 7.2兼容吗?

Tim*_*row 5 php compatibility zend-framework

我有一个在Zend Framework 1中构建的项目。使用PHP 7.1之前的版本,效果很好。当我在其中一台测试服务器上升级PHP时,它显示内部错误:

致命错误:Zend_Rest_Route :: assemble($ data = Array,$ reset = false,$ encode = true)声明必须与Zend_Controller_Router_Route_Module :: assemble($ data = Array,$ reset = false,$ encode = true,$在第52行的/public_html/library/Zend/Rest/Route.php中,partial = false)

看来这两个类都属于框架。安装的ZF1版本是1.12.18。

是否有与PHP 7.2兼容的ZF1版本?还是为了保持兼容性而不可避免地升级到ZF2?

Ant*_*nyB 8

Zend Framework 1已经到了使用寿命,但是已经完成了一些工作。Shardj的一个与PHP 7.3兼容。

  • 哦,该死的,我是根据该帖子发布该回购信息的,现在已经转了整整一圈 (4认同)
  • @Shardj,你让我开心了哈哈!您的仓库很棒,可能对很多人都有帮助!我感谢你开始这个圈子! (2认同)

Spu*_*ley 7

是的,该错误是由于PHP继承模型的加强而导致的,因此,如果框架代码因PHP 7.2中的此错误而失败,则答案是框架与7.2不兼容,至少不是不修复此框架(以及其他类似问题) )错误。

这个错误肯定对您来说将是一个阻碍,并且Zend 1不再维护,因此我想简单的答案是您将必须升级Zend或不升级PHP。

您的另一种选择是自己分叉Zend并解决兼容性问题。或者,可能有其他人也做过同样的事情。我真的不建议这样做。在某个时候,您将不得不硬着头皮升级。离开它的时间越长,做起来就会越困难,所以您最好现在就做。