#Описание и признаки неисправности
Администратор пытается убрать старую версию PHP или режим обработки из панели, но пункт недоступен, появляется ошибка применения либо версия вновь видна как используемая. На сервере могут оставаться сайты и задания cron, зависящие от этого интерпретатора. Сначала инвентаризируйте потребителей обработчика, затем переносите их на совместимую версию и лишь после подтверждения отсутствия зависимостей удаляйте ненужный пакет штатными средствами.
#Как отличить возможные причины
| Возможная причина | Как узнать | Что делать |
|---|---|---|
| Устаревшая версия занята другим сайтомПанель не разрешает удалить компонент, пока он выбран в карточке хотя бы одного сайта. | В карточках сайтов есть old PHP version / apache module. | Запланировать поочерёдную миграцию всех потребителей. |
Версию применяет cron или PHP CLIДля сайтов PHP новый, но задачи cron продолжают запускать /opt/.../php. | В планировщике указан старый путь; SSH php -v отличается. | Изменить путь к интерпретатору в заданиях после теста. |
| Неуспешно применена конфигурацияУдаление отложено из-за несогласованных конфигураций и запущенных обработчиков. | В журнале панели ошибка службы/конфигурации. | Исправить конкретную причину и повторить штатную операцию. |
#Пошаговая диагностика и решение
- Уточните, что означает «отключить»В панели откройте настройки проблемного сайта и раздел версий PHP. Различайте смену обработчика для одного сайта, выключение службы PHP-FPM и удаление пакета PHP с сервера. Если вам нужен новый PHP только для одного сайта, не удаляйте старый интерпретатор, пока он обслуживает другие домены. Запишите точный текст отказа, имя версии, список сайтов.
- Сохраните настройки и проверьте резервные копииДля всех затронутых сайтов зафиксируйте текущую версию, режим FastCGI/PHP-FPM/Apache, пользователя и адрес. Перед миграцией сохраните проверенную копию файлов и баз, чтобы можно было вернуть код и обработчик. Это важнее быстрого освобождения места: удаление системных пакетов может повредить общую конфигурацию и расширения PHP.
- Проверьте список потребителей в панелиВ списке сайтов по очереди откройте карточки и настройки PHP; найдите все домены, где выбран старый обработчик. Если в панели нет списка зависимостей, не считайте это подтверждением, что обработчик свободен. Также откройте приложения/установленные версии PHP и проверьте, какая версия назначена пользователям для CLI.
- Проверьте задания по расписаниюОткройте в панели раздел запланированных задач для каждого затронутого пользователя, найдите команды с абсолютным путём к старому
php. На Debian/Ubuntu под администратором можно выполнитьsudo crontab -l -u USER, подставив существующего пользователя. Эта команда только читает задания, но наличие cron не гарантирует, что интерпретатор используется: проверьте историю запусков и журналы. - Сверьте совместимость до перевода сайтовНа тестовой копии каждого сайта проверьте поддерживаемые версии CMS и расширений; при смене FastCGI→PHP-FPM учитывайте, что
.htaccessперестанет применяться Nginx напрямую. Новую версию сначала установите через «Приложения» панели, не скачивая интерпретаторы из случайных источников. Сохраните старую комбинацию режима/версии и проверьте загрузку сайта, вход, формы, загрузки файлов. - Переносите потребителей постепенноВ карточке каждого сайта поменяйте режим и версию на проверенную совместимую комбинацию, сохраните, проверьте HTTP и ошибки. Для CLI в настройках пользователя выберите новый PHP и переподключитесь к SSH; для cron замените абсолютный путь только в конкретном задании после пробного запуска на безопасном тестовом файле. Если сайт сломался, верните его прежний режим и версию через панель, не продолжайте миграцию.
- Проверьте конфигурацию после переносаНа сервере с Nginx выполните
sudo nginx -t, при наличии Apache —sudo apachectl configtest, затем проверьте статус соответствующих экземпляров PHP-FPM средствами панели. Наличие нескольких установленных служб PHP — не всегда ошибка: часть может быть неиспользуемой и автоматически остановленной. Если панель сообщает, что служба не может стартовать без назначенного сайта, это ожидаемо для некоторых конфигураций FASTPANEL. - Удаляйте старую версию только после нулевых зависимостейКогда проверено, что сайтов и cron на старом PHP не осталось, используйте штатный интерфейс удаления приложения/пакета панели, если он доступен. Если кнопка недоступна, отправьте в поддержку точную ошибку и журнал, не применяйте
apt purgeили ручное удаление каталогов/opt/phpXX: зависимости панели и других приложений могут быть скрыты. Для отката до удаления сохраните образ настроек; после удаления восстановление требует повторной установки совместимого пакета. - Команды для отдельных ситуацийВыберите только подходящий вариант. Это не одна последовательность: часть команд диагностирует проблему, а часть меняет настройки или данные.
#Проверка результата и дальнейшие действия
Успех — все сайты и фоновые задания работают на поддерживаемой версии, старый обработчик нигде не выбран, проверка конфигурации проходит, а панель подтверждает удаление или безопасное отключение старой службы. Если удалить компонент не удаётся, оставьте его установленным и передайте в поддержку журнал отказа и список проверенных зависимостей.