Насколько обратная совместимость PHP 5 с PHP 4?
-
20-08-2019 - |
Вопрос
Я работаю над базой кода, написанной на php 4.Я хотел бы пройти процесс обновления кода до PHP 5 (последняя версия, предоставленная моим хостом).Мне интересно, прошел ли кто-нибудь еще подобный опыт обновления и может ли он поделиться своими ошибками/подводными камнями, что нужно изменить в моем коде, что не имеет обратной совместимости между двумя версиями?
Решение
Взгляните на руководство по переходу с PHP 4 на 5.Ваш существующий код PHP 4 по большей части должен работать, хотя есть некоторые обратно несовместимые изменения.
Другие советы
Проверьте Миграция с PHP 4 на PHP 5.0.x страница документации.Самый важный раздел — Обратная несовместимость изменений.ПОСКОЛЬКУ вы не использовали классы и объекты в своем предыдущем приложении, array_merge, вероятно, является единственной серьезной проблемой, с которой вы можете столкнуться.
НЕ ВКЛЮЧАЙТЕ zend.ze1_compatibility_mode
переменная конфигурации.
По моему опыту, основной источник проблем — это когда код использует функции, которые уже устарели в PHP 4.Обычно это:
- Регистрация глобальных переменных
- Волшебные цитаты
- Старомодное управление сессиями, также известное как сеанс_регистр()
Не существует поиска и замены, которые могли бы помочь вам идентифицировать такие вещи.Его удаление приводит к множеству труднообнаружимых сбоев.Их сохранение приводит к созданию неподдерживаемого кода.Установка агрессивного Отчет об ошибках уровень приводит к бесконечному потоку уведомлений.