Совместим ли Zend Framework 1 с PHP 7.2?

У меня есть проект, встроенный в Zend Framework 1. С PHP до 7.1, он работает нормально. Когда я обновил PHP на одном из серверов тестирования, он показывает внутреннюю ошибку:

Фатальная ошибка: декларация Zend_Rest_Route :: assembly ($ data = Array, $ reset = false, $ encode = true) должен быть совместим с Zend_Controller_Router_Route_Module :: assembly ($ data = Array, $ reset = false, $ encode = true, $ part = false) в /public_html/library/Zend/Rest/Route.php в строке 52

Похоже, что оба класса принадлежат каркасу. Версия установленного ZF1: 1.12.18.

Есть ли версия ZF1, совместимая с PHP 7.2? Или обновление до ZF2 неизбежно для обеспечения совместимости?

2

Решение

Да, ошибка вызвана ужесточением модели наследования PHP, поэтому, если код фреймворка терпит неудачу с этой ошибкой в ​​PHP 7.2, то ответ заключается в том, что фреймворк не совместим с 7.2, по крайней мере, без исправления этого (и других подобных ) ошибки.

Эта ошибка определенно выглядит так, как будто она станет для вас ограничителем показа, и Zend 1 больше не поддерживается, поэтому я предполагаю, что простой ответ заключается в том, что вам придется либо обновить Zend, либо не обновлять PHP.

Ваша другая альтернатива — это раскошелиться на Zend и устранить проблемы с совместимостью. Или другие люди, которые сделали то же самое, могут получить сообщества. Я действительно не рекомендовал бы это все же. В какой-то момент вам придется кусать пулю и обновляться; чем дольше вы его оставите, тем труднее будет заниматься, так что вы можете сделать это сейчас.

4

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]