РазделАдминистрирование сайтов
Чтение8 мин
Дата19 сентября 2026
ФорматПрактическая статья
Самая быстрая диагностика после смены PHP
- зафиксируйте старую и новую версии PHP;
- воспроизведите ошибку и прочитайте свежий error log;
- сравните расширения и php.ini;
- если сайт критичен — временно верните рабочий PHP handler;
- исправляйте конкретную несовместимость на копии проекта.
Снять отчёт PHP-окружения
BASH
php -v
php --ini
php -m
php -r '
foreach (["memory_limit","max_execution_time","max_input_vars","error_log"] as $k) {
echo $k."=".ini_get($k).PHP_EOL;
}
'CLI PHP и PHP сайта могут быть разными
Команда php -v показывает CLI. Сайт при этом может обслуживаться другим PHP-FPM pool или Apache module. Поэтому сравнивайте версию, выбранную в панели/virtual host, с тем, что показывает консоль.
Если проект использует Composer
Сначала проверяйте требования пакетов, а не обновляйте все зависимости без разбора.
Composer: проверить требования текущих пакетов
BASH
composer check-platform-reqs
composer diagnoseТипичные ошибки после перехода на новый PHP
| Ошибка | Что проверить |
|---|---|
| Call to undefined function | расширение PHP или удалённая функция |
| Class not found | autoload/vendor, несовместимый пакет |
| Deprecated → затем Fatal | устаревший код Extra/plugin/theme |
| Memory exhausted | memory_limit и рост потребления |
| Cannot load extension | список модулей и конфигурация handler |
| 500 без текста | error log PHP/web-server |
Временный rollback — это не финальное решение
Если возврат предыдущей версии PHP мгновенно восстанавливает сайт, вы локализовали проблему, но не исправили её. Сохраните лог новой версии, обновите или замените несовместимый код и повторите переход на staging.
Перед повторным переключением
- проверьте CMS и критичные Extras/плагины;
- прогоните формы, авторизацию, поиск, корзину и cron;
- сравните набор PHP extensions;
- убедитесь, что production не показывает display_errors;
- держите готовый путь возврата старого handler.