Как обновить версию PHP на компьютере и сервере

Короткий ответ: обновление PHP начинается не с установки новой версии, а с проверки проекта. Сначала посмотрите текущую версию командой php -v, проверьте требования проекта и расширения, затем обновляйте PHP в том месте, где он реально используется: на компьютере, в панели хостинга, в Docker-контейнере или на сервере

Главная ошибка новичка — обновить PHP “где-то рядом”, но не там, где работает сайт. Например, в терминале может стоять одна версия, у Apache другая, у PHP-FPM третья, а на хостинге версия выбирается отдельно для каждого домена

Что проверить перед обновлением

Перед обновлением сохраните список базовых вещей

php -v
php -m
php --ini

php -v покажет текущую версию. php -m покажет включенные расширения. php --ini покажет, какой php.ini сейчас используется

Если проект использует Composer, откройте composer.json и посмотрите ограничение по PHP

{
  "require": {
    "php": ">=8.1",
    "ext-pdo": "*"
  }
}

Это не просто формальность. Если проект требует старую версию фреймворка или расширение, которого нет в новом окружении, обновление может пройти успешно, а сайт перестанет открываться

Как обновить PHP на компьютере

На Windows проще всего скачать актуальную сборку PHP с официального сайта, распаковать ее в отдельную папку и обновить путь в переменной PATH. После этого нужно закрыть терминал, открыть новый и проверить версию

php -v

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

На macOS часто используют Homebrew. В типовом варианте обновление выглядит так

brew update
brew upgrade php
php -v

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

На Linux логика зависит от дистрибутива и репозиториев. Для учебного компьютера можно использовать пакетный менеджер системы, но для сервера сначала проверьте, как PHP подключен к веб-серверу: Apache module, PHP-FPM, контейнер или панель управления

Как обновить PHP на сервере

На сервере обновление нужно делать аккуратнее, потому что PHP связан с веб-сервером, расширениями, правами и настройками сайта. Общий порядок такой

  1. Проверьте текущую версию в консоли и через сайт
  2. Сделайте резервную копию файлов и базы
  3. Убедитесь, что нужная версия доступна в репозитории или панели
  4. Переключите сайт на новую версию
  5. Проверьте страницы, формы, админку и логи ошибок

Для проверки версии через сайт можно временно создать файл phpinfo.php

<?php
phpinfo();

Откройте его в браузере, посмотрите версию и путь к php.ini, а потом удалите файл. Оставлять phpinfo() на публичном сайте нельзя: он показывает слишком много технической информации

Как понять, что обновление прошло правильно

Проверьте версию в терминале

php -v

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

<?php
echo PHP_VERSION;

Если терминал показывает новую версию, а сайт старую, значит вы обновили CLI-интерпретатор, но не переключили PHP для веб-сервера. Это частая ситуация на серверах с PHP-FPM и панелями управления

Что делать после обновления

Запустите Composer-проверку, если проект его использует

composer check-platform-reqs

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

Если сайт сломался после обновления

Сначала смотрите лог ошибок. Не откатывайте все вслепую, потому что часто проблема не в версии PHP целиком, а в одном расширении, устаревшей функции или настройке

Типовые причины

  • не установлено расширение pdo_mysql, mbstring, curl, gd или intl
  • в коде используется устаревшая функция
  • проект требует старую версию фреймворка
  • у веб-сервера и терминала разные версии PHP
  • после смены версии не перезапущен PHP-FPM или веб-сервер

Если сайт коммерческий, сначала верните рабочую версию, а затем обновляйте проект в тестовом окружении

Мини-практика

Проверьте свою текущую версию PHP командой php -v, затем создайте файл version.php с выводом PHP_VERSION и откройте его через локальный сервер. Если версии в терминале и браузере совпадают, окружение настроено понятно. Если отличаются, найдите, какой именно PHP использует браузер

Частые ошибки

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

Смотрят только php -v Команда показывает CLI-версию. Веб-сайт может работать на другой версии PHP

Забывают расширения После обновления может пропасть нужное расширение. Проверяйте php -m и логи ошибок

Оставляют phpinfo на сайте Файл с phpinfo() удаляйте сразу после проверки

Что почитать дальше по PHP

Если нужен общий маршрут по теме, откройте рубрику PHP. Для соседних задач пригодятся эти разборы:

Оцените статью
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x