Міграція OpenCart на PHP 8.3 — без помилок
Відгуків: 10Переведу OpenCart / ocStore на PHP 8.3: аудит сумісності, виправлення deprecated, тестування модулів. PHP 8.1 EOL — мігруйте зараз.
Послуга
Оновлення PHP до 8.x для OpenCart та ocStore
Хостинг попереджає про відключення старої версії PHP, або магазин уже показує помилки після примусового оновлення. Проблема майже ніколи не в самому ядрі OpenCart — воно переживає перехід відносно спокійно. Ламаються сторонні модулі й тема, написані під сьомий PHP.
Що саме ламається
- функції, видалені у восьмій версії — код із ними просто зупиняється з фатальною помилкою;
- звертання до неіснуючих ключів масиву: раніше це було попередження, тепер помітно суворіше;
- передача
nullу функції, які його більше не приймають — типова причина «білого екрана» на сторінці товару; - сторінка модифікацій в адмінці, яка на стоковому OpenCart 3 віддає помилку 500 одразу після переходу на PHP 8;
- старі платні модулі, скомпільовані під конкретну версію PHP — вони не запрацюють, доки автор не випустить оновлення.
Порядок робіт
Спершу інвентаризація: які модулі стоять, які з них мають сумісні версії, що доведеться замінювати. Далі перевірка коду на стенді — з увімкненим виводом усіх помилок, а не «на око». Потім виправлення знайденого, тест наскрізного сценарію покупки, і лише після цього перемикання версії на бойовому сайті.
Чому не варто просто перемкнути версію в панелі
Тому що частина помилок не видно одразу. Магазин відкривається, каталог працює — а оформлення замовлення падає, або перестають надходити листи. Виявляється це через кілька днів, за загубленими замовленнями.
Що ви отримуєте
Магазин на підтримуваній версії PHP, з робочими модулями й перевіреним чекаутом. Побічний ефект — зазвичай помітний приріст швидкості: восьма гілка відчутно швидша за сьому. Якщо потрібно більше, наступний крок — оптимізація швидкодії.
Коли версія OpenCart надто стара, щоб працювати на PHP 8 у принципі, чесніше говорити про міграцію між версіями — я скажу про це до початку робіт, а не в процесі.
До і після
- Хостинг вимикає стару PHP, а після примусового оновлення магазин показує помилки
- Модулі й тема, написані під сьомий PHP, зупиняються з фатальною помилкою
- Каталог працює, а чекаут падає чи листи не надходять — помітно лише за загубленими замовленнями
- Інвентаризація модулів і перевірка коду на стенді з виводом усіх помилок
- Виправлення й наскрізний тест покупки — лише потім перемикання версії на бойовому сайті
- Магазин на підтримуваній версії PHP з робочими модулями й перевіреним чекаутом
Відгуки (10)
5.0Робили нам «Апгрейд PHP до 8.3 для OpenCart / ocStore» — сидів на PHP 7.4 і боявся оновлювати. Видно, що людина глибоко розуміється на OpenCart. Зробили бекап перед роботами — приємно, що подбали. Однозначно вартує своїх грошей.
Потрібна була послуга «Апгрейд PHP до 8.3 для OpenCart / ocStore», і сидів на PHP 7.4 і боявся оновлювати. Окремо порадували акуратністю в коді. Проблему вирішено остаточно.
«Апгрейд PHP до 8.3 для OpenCart / ocStore» — саме те, що шукав. Сидів на PHP 7.4 і боявся оновлювати. Перед стартом детально пояснили що і навіщо. Підхід професійний, усе по суті. Дякую за якісну роботу!
Брав «Апгрейд PHP до 8.3 для OpenCart / ocStore» для свого проєкту. Сидів на PHP 7.4 і боявся оновлювати. Після здачі ще тиждень відповідали на дрібні питання. Окремо порадували акуратністю в коді. Результатом повністю задоволений.
Робили нам «Апгрейд PHP до 8.3 для OpenCart / ocStore» — сидів на PHP 7.4 і боявся оновлювати. Зробили навіть трохи більше, ніж домовлялись. Отримав саме той результат, на який розраховував.