Пятый фактор
Отправить заявку
Переносы сайтов и данных

Обновление самописного сайта до PHP 8.4

Обновление самописного сайта до PHP 8.4 начинается с тестового контура — отдельной рабочей копии сайта и базы. На ней видно, какие участки старого кода требуют исправления, какие библиотеки пора обновить и как приложение общается с действующей СУБД. После изменений проводим регрессионную проверку: повторяем важные действия пользователей и сотрудников. Затем переключаем сервер по записанному сценарию со свежей резервной копией и понятным возвратом.

Срок: 15 рабочих дней

Когда стоит обратиться

Обычно к нам обращаются в таких ситуациях:

  • Хостинг выводит старую версию PHP из поддержки, а простое переключение в панели приводит к белому экрану или критической ошибке.
  • Самописный сайт использует старые функции, динамические свойства, прежние сигнатуры библиотек или расширения из прежнего состава PHP.
  • После пробного запуска появляются TypeError, ValueError, предупреждения о неявно nullable-параметрах либо ошибки подключения к базе.
  • Новая доработка требует современной версии Composer-пакета, а текущая среда удерживает весь проект на устаревшей ветке.
  • Бизнесу важно продолжать развивать сайт и получать обновления безопасности, сохранив существующие данные, адреса страниц и рабочие интеграции.

Что именно мы сделаем

01

Фиксируем текущие версии PHP, расширений, библиотек, базы, заданий по расписанию, очередей и внешних подключений.

02

Создаём резервную копию и тестовый контур на PHP 8.4 с теми же данными или их безопасной копией.

03

Исправляем несовместимый код, обновляем зависимости и проверяем подключение и запросы к действующей базе.

04

Проходим ключевые пользовательские, административные и фоновые сценарии, сверяем файлы, письма и интеграции.

05

Готовим окно переключения, обновляем рабочую среду и повторяем контрольные операции по чек-листу.

Что входит в стоимость

59 900 ₽ за всю работу

Разворачиваем рабочую копию сайта на PHP 8.4, собираем ошибки и предупреждения, исправляем несовместимый код, обновляем используемые библиотеки и конфигурацию расширений. Проверяем совместимость приложения с текущей MySQL, MariaDB или PostgreSQL: драйвер подключения, запросы, транзакции, кодировку и нужные изменения схемы. Затем повторяем ключевые операции, создаём свежую резервную копию и переключаем рабочую среду по проверенному сценарию.

Что будет готово

Материалы

Передадим вам

  • Рабочий самописный сайт на PHP 8.4 с обновлённым кодом, зависимостями и серверной конфигурацией.
  • Перечень исправленных несовместимостей с файлами, библиотеками, причинами и проверенными пользовательскими сценариями.
  • Контрольный лист форм, входа, кабинета, поиска, файлов, cron-задач, почты, базы и выбранных интеграций.
  • Сценарий переключения и возврата, резервная копия перед обновлением и памятка по дальнейшему сопровождению.
Проверка

Перед сдачей проверим

  • Рабочий сервер показывает PHP 8.4, а выбранные расширения загружены и используются нужным обработчиком и CLI.
  • Ключевые страницы, формы, авторизация, кабинет, административные операции и фоновые задания проходят контрольные сценарии.
  • Приложение читает и записывает данные в действующей базе, корректно обрабатывает транзакции, кодировку и рабочие запросы.
  • В журнале контрольного периода отсутствуют критические ошибки PHP в проверенных сценариях, а процедура возврата понятна ответственному сотруднику.

Как это выглядит на практике

Обновление старого сайта — схема: Старый PHP, Совместимый код, Новая база и Проверка работы.

Самописный кабинет переезжает с PHP 7.4 на PHP 8.4

  1. 01

    На копии собираем ошибки входа, формирования PDF, загрузки файлов и ночного обмена, затем связываем их с кодом и библиотеками.

  2. 02

    Обновляем Composer-пакеты, исправляем типы и устаревшие вызовы, настраиваем требуемые расширения и подключение к прежней MySQL-базе.

  3. 03

    Проверяем роли пользователей, карточки, документы, поиск, письма и cron-команду на веб- и CLI-версии PHP 8.4.

  4. 04

    Создаём свежую копию, переключаем обработчик PHP, повторяем критичные операции и контролируем журналы после открытия кабинета.

Что понадобится для работы

От вас

  • Доступ к исходному коду, репозиторию при его наличии, серверу, конфигурации веб-сервера, PHP и способу резервного копирования.
  • Доступ к тестовой или безопасной копии базы, сведения о СУБД, пользователе подключения, кодировке и важных фоновых заданиях.
  • Список ключевых функций для сотрудников и клиентов, административных операций, интеграций, почтовых сценариев и загрузок файлов.
  • Требования целевого хостинга либо подготовленный сервер с PHP 8.4, нужными расширениями и возможностью отдельного тестового контура.

Если у вас немного другая ситуация

Небольшие уточнения, которые помогают довести согласованный результат до рабочего состояния, уже учитываем в цене. Если по ходу работы появится отдельный крупный блок или понадобится платная лицензия, сначала обсудим варианты и стоимость. Расскажите о своей ситуации — подстроим план под неё.

Стоимость работ 59 900 ₽ полная стоимость известна заранее
  1. 3 000 ₽после подписания договора через Диадок
  2. 56 900 ₽после выполнения, демонстрации и приёмки результата

Предоплата входит в общую стоимость. Оставшуюся сумму оплачиваете после демонстрации и приёмки готовой работы.

Часто спрашивают

Об этой услуге

Можно сразу перейти с PHP 5.6 или 7.4 на PHP 8.4?

Да, если обновление проходит на отдельной копии и учитывает изменения промежуточных версий. Мы последовательно собираем несовместимости, исправляем код и библиотеки, затем проверяем реальные функции сайта до переключения рабочего обработчика.

Зачем проверять базу, если меняется только PHP?

Версия PHP определяет доступные драйверы и поведение кода, который выполняет запросы. После обновления могут проявиться ошибки mysqli или PDO, различия обработки типов, кодировки, транзакций и строгого режима. Поэтому соединение и рабочие операции с базой входят в регрессию.

Будет ли база перенесена на другую СУБД?

Эта услуга сохраняет действующую MySQL, MariaDB или PostgreSQL и обеспечивает совместимость приложения с ней. Точечные изменения схемы выполняются для работы обновлённого кода. Переход с одной СУБД на другую представляет отдельную задачу с преобразованием запросов и данных.

Рабочий сайт останется доступен во время подготовки?

Основная работа выполняется на отдельном контуре. Для финального переключения выбираем удобное окно, создаём свежую копию и проходим короткий список критичных операций. Продолжительность окна зависит от обновления данных и способа запуска сайта.

Что произойдёт с устаревшими библиотеками?

Сначала проверяем, где библиотека реально используется. При наличии поддерживаемой версии обновляем пакет и его зависимости. Для заброшенного компонента подбираем совместимую замену либо исправляем локальный участок, сохраняя ожидаемый результат для пользователя.

Какие изменения PHP 8.4 особенно важны для старого кода?

Проверяем строгую обработку типов, изменившиеся сигнатуры, неявно nullable-параметры, динамические свойства из предыдущих веток PHP 8, поведение exit(), типизированные константы расширений и состав устанавливаемых расширений. Точный список формируется по коду конкретного проекта.

Как проверяются cron-задачи и консольные команды?

Запускаем выбранные команды вручную на тестовом контуре, сверяем код завершения, журнал и созданные данные. Также проверяем путь к бинарному файлу PHP в cron, потому что консоль и веб-сайт могут использовать разные версии и наборы расширений.

Что будет, если после переключения найдётся редкая ошибка?

Сценарий включает свежую копию и понятную точку возврата. Для локальной ошибки можно быстро выпустить исправление на проверенном коде, а при влиянии на ключевую функцию вернуть прежний обработчик и разобрать сценарий на тестовом контуре.

Цена и изменения по ходу работы

Цена на странице окончательная?

Да. Перед началом мы сверяем исходные данные и фиксируем результат в договоре. Указанная на странице сумма покрывает согласованную работу целиком, даже если её техническая реализация потребует больше времени, чем ожидалось при оценке.

Что означает резерв незапланированных работ?

Это уже включённый в цену запас времени на небольшие связанные уточнения заказчика, которые появляются после старта: например, добавить поле, изменить формат уведомления или учесть ещё одно условие обработки.

Резерв рассчитывается по формуле: стоимость услуги × 30% ÷ 1 500 ₽. Для услуги за 30 000 ₽ это 6 часов. Эти часы относятся только к дополнительным, заранее незапланированным уточнениям. Они не являются сроком проекта и не ограничивают время на основную работу: согласованный результат мы выполняем полностью.

Можно уточнять детали уже во время работы?

Да. Небольшие связанные изменения обычно помещаются во включённый резерв и не требуют доплаты. Если новая идея заметно меняет результат или превращается в самостоятельную задачу, сначала обсудим подход и стоимость. Любое решение согласуем до выполнения.

Начало работы и оплата

Как оформляются договор и оплата?

Подписываем договор через Диадок. Предоплата составляет 3 000 ₽ и входит в общую стоимость услуги. Остаток оплачивается после демонстрации и приёмки готового результата.

Когда начинается срок выполнения?

Срок отсчитывается после согласования задачи, получения необходимых доступов и материалов, подписания договора и поступления предоплаты. Конкретную дату старта и плановый день готовности подтверждаем перед началом.

Как учитываются платные лицензии и внешние сервисы?

До старта проверяем, нужны ли тарифы, лицензии, сертификаты или дополнительные ресурсы внешних систем. Если они потребуются, заранее покажем варианты и стоимость. По возможности аккаунты и лицензии оформляются сразу на заказчика.

Проверка результата и гарантия

Как принимается готовая работа?

Вместе проверяем согласованные сценарии на контрольных данных или тестовой копии, а затем демонстрируем результат. Для интеграций сверяем передачу данных и обработку ошибок, для сайта — работу нужных страниц и действий пользователя, для отчёта — расчёты и обновление данных.

Какая гарантия действует после сдачи?

На выполненные изменения действует гарантия 3 месяца. Если в изменённой нами части обнаружится ошибка нашей реализации, проверим и исправим её без дополнительной оплаты. Переданные материалы, настройки и код остаются у заказчика.

Следующий шаг

Опишите задачу

Расскажите, что происходит сейчас и какой результат хотите получить. Можно указать сайт, CMS, 1С, CRM, ERP или другую систему. Если подходящую услугу выбирать рано, просто опишите ситуацию — мы разберёмся и предложим следующий шаг.