#Описание и признаки неисправности
После сохранения новой версии PHP в карточке сайта расширение или сама CMS продолжает показывать прежний номер интерпретатора. Часто администратор проверяет php -v по SSH, хотя сайт использует отдельный FastCGI-обработчик или PHP-FPM. Для исправления важно отличить веб-обработчик от PHP в командной строке, проверить активный режим в панели и убедиться, что запрос обслуживает именно нужный виртуальный хост.
#Как отличить возможные причины
| Возможная причина | Как узнать | Что делать |
|---|---|---|
| Сравниваются разные интерпретаторыНастройка PHP CLI задаётся отдельно от PHP сайта. | В SSH php -v показывает старую версию, а веб-проба новую. | Проверять версию непосредственно в HTTP-запросе. |
| Обработчик не позволяет выбирать версиюМодуль Apache может использовать системный PHP; в FastCGI/FPM альтернативная версия задаётся для сайта. | Поле версии недоступно либо режим остался прежним. | Выбрать поддерживаемый режим и версию через настройки сайта. |
| Запрос попадает не на тот сайтDNS, прокси или другой виртуальный хост ведёт к старому экземпляру. | По новому домену версия старая, по целевому IP — ожидаемая. | Проверить DNS, IPv6 и привязку домена. |
#Пошаговая диагностика и решение
- Запишите исходное состояние и исключите срочную смену в рабочее времяОткройте панель управления через её обычный защищённый адрес, зайдите в список сайтов и карточку нужного домена. Запишите название выбранного PHP-обработчика и старую/новую версию, сделайте снимок настроек. Если сайт обслуживает оплату или заказы, согласуйте время изменений и резервную копию. Не переключайте вслепую режим обработки: при переходе на PHP-FPM правила
.htaccessмогут перестать работать. - Проверьте версию именно в веб-запросеВ файловом менеджере панели откройте корневой каталог сайта, создайте временный файл с непредсказуемым именем и строкой
<?php echo PHP_VERSION;(без закрывающего тега), ограничьте доступ к нему своим IP или паролем на веб-сервере. Откройте его по HTTPS в браузере: должна появиться только строка версии. После проверки немедленно удалите файл. Если файл скачивается или виден исходный PHP-код, прекратите проверку: обработчик вообще не исполняет PHP. - Не принимайте вывод CLI за версию сайтаПодключитесь по SSH своей учётной записью и наберите
php -v. Команда определяет PHP по умолчанию в консоли и не доказывает, какой PHP обрабатывает HTTP-запросы. Если вывод CLI отличается от веб-пробы, проблема может отсутствовать; для фонового задания cron нужно отдельно указать правильный путь к интерпретатору либо выбрать PHP (CLI) для пользователя панели. - Уточните режим и установленную версию в FASTPANELВ FASTPANEL откройте карточку нужного сайта → «Настройки» → «Настройки PHP» (в некоторых редакциях «Обработчик PHP»). Проверьте поле режима: модуль Apache использует системный PHP, альтернативные версии выбираются в FastCGI или PHP-FPM. Убедитесь, что требуемая версия установлена в разделе приложений панели, и что выпадающий список версии относится к нужному сайту, а не к другому домену.
- Выберите доступный обработчик с учётом правил сайтаЕсли версия недоступна, сначала проверьте, поддерживается ли она ОС и редакцией панели. Для сайта, зависящего от
.htaccess, FastCGI с Apache обычно безопаснее в рамках текущей схемы FASTPANEL; PHP-FPM с прямым Nginx не читает.htaccess. Сохраните прежнюю комбинацию «режим + версия», выберите поддерживаемую и сохраните изменения. Если панель сообщает об ошибке, верните исходный выбор и изучите журнал применения. - Проверьте HTTP-обработчик после сохраненияПовторите открытие временной защищённой веб-пробы; затем просмотрите главную страницу и форму входа сайта. Если по-прежнему старая версия, сравните адрес, схему HTTPS, www-вариант, запись A/AAAA и расположение корня сайта. Проверьте, не выдаёт ли версия-код из кеша страницы или промежуточного прокси: открывайте пробу с новым именем, не отключая кэш всего сайта.
- Если обработчик не обновился, диагностируйте конфигурацию через SSHПри доступе администратора сервером проверьте
sudo nginx -t, а для Apache, если он используется,sudo apachectl configtest. Проверка показываетsyntax is okили подробную ошибку; она ничего не перезагружает. Затем изучите ошибки применения настроек в панели и системном журнале. Не редактируйте автоматически генерируемые конфигурации вручную: панель может перезаписать их. Перезагрузка допускается после успешного теста и подтверждения ответственной службой. - Проверьте расширения и откат при несовместимостиПосле подтверждения номера PHP проверьте на сайте отправку формы, вход в CMS, запись файлов и журналы PHP. Если PHP обновился, но код выдаёт 500/фатальные ошибки, верните прежнюю версию в карточке сайта и сохраните её, затем обновляйте несовместимые расширения на тестовой копии. Не удаляйте старую установленную версию PHP, пока от неё зависят другие сайты и задачи cron.
- Команды для отдельных ситуацийВыберите только подходящий вариант. Это не одна последовательность: часть команд диагностирует проблему, а часть меняет настройки или данные.
#Проверка результата и дальнейшие действия
Исправление подтверждено, если защищённая веб-проба показывает выбранную версию, основные страницы работают и в журнале PHP не появились фатальные ошибки. Если новая версия не применена после сохранения и проверки правильного домена, приложите к обращению в поддержку название сайта, режим обработчика, ожидаемый и фактический номера версии; временный диагностический файл удалите независимо от результата.