PHP
Как включить нужную версию PHP: сайт, терминал, Apache и PHP-FPM
Короткий ответ: версию PHP включают не “вообще”, а для конкретного места: для командной строки, для сайта в Apache, для Nginx через PHP-FPM или для домена в панели хостинга. Поэтому сначала нужно понять, где именно вам нужна версия: php -v в терминале, WordPress в браузере, Composer, Laravel, Open Server, Ubuntu или хостинг
Если вы поменяли версию PHP, но сайт все равно показывает старую, это почти всегда означает, что вы переключили не то окружение. Командная строка и сайт могут работать на разных PHP
Как проверить PHP в терминале
php -v
which php
Эти команды показывают PHP для командной строки. Он важен для Composer, консольных скриптов, Laravel artisan, Symfony console и запуска php script.php
На Ubuntu переключение CLI-версии часто делают так
sudo update-alternatives --config php
Но это не гарантирует, что сайт в браузере тоже переключился
Как проверить PHP сайта
Создайте временный файл в корне сайта
<?php
echo PHP_VERSION;
Откройте его через браузер. Это покажет PHP, который реально выполняет сайт
Для более подробной диагностики можно временно использовать
<?php
phpinfo();
После проверки удалите файл
Если сайт на Apache
Apache может работать через модуль PHP. Тогда включение версии связано с модулями Apache
sudo a2dismod php8.2
sudo a2enmod php8.3
sudo systemctl restart apache2
Номера версий замените на те, которые установлены в вашей системе. Если Apache работает через PHP-FPM, эта схема может не подойти
Если сайт на Nginx
Nginx обычно не выполняет PHP сам. Он отправляет .php файлы в PHP-FPM. Значит нужно проверить строку fastcgi_pass
fastcgi_pass unix:/run/php/php8.3-fpm.sock;
После изменения проверьте конфигурацию и перезапустите сервисы
sudo nginx -t
sudo systemctl restart php8.3-fpm
sudo systemctl restart nginx
Если в конфиге остался сокет старой версии, сайт будет работать на старом PHP
Если вы на хостинге
В панели хостинга версия PHP обычно выбирается для конкретного сайта или домена. Ищите раздел “Версия PHP”, “Настройки PHP”, “WWW-домены”, “Сайты” или похожий блок
После смены версии проверяйте результат через файл в корне сайта, а не только через уведомление панели. На одном аккаунте могут быть разные домены с разными версиями PHP
Если вы в Open Server или XAMPP
В локальных средах версия PHP выбирается в настройках сервера, проекта или модуля. После смены версии перезапустите окружение. Если Composer показывает старую версию, значит терминал смотрит на другой PHP, чем локальный сайт
Мини-практика
Сделайте две проверки: php -v в терминале и echo PHP_VERSION через браузер. Запишите оба результата. Затем включите нужную версию PHP в своем окружении и повторите обе проверки
Если версии отличаются, подпишите, какая версия относится к CLI, а какая к сайту. Это сильно помогает при отладке Composer, WordPress, Laravel и обычных PHP-страниц
Частые ошибки
Переключили PHP в терминале, но сайт работает через PHP-FPM старой версии
Изменили версию в панели хостинга не для того домена
Поменяли конфигурацию, но не перезапустили Apache, Nginx или PHP-FPM
Проверяют только php -v, хотя проблема в браузерной версии сайта
Не устанавливают расширения для новой версии PHP
Оставляют phpinfo.php на публичном сайте после диагностики
Что почитать дальше по PHP
Если нужен общий маршрут по теме, откройте рубрику PHP. Для соседних задач пригодятся эти разборы:
- Как сменить версию PHP на Ubuntu: CLI, Apache, Nginx и PHP-FPM
- Timeweb: как изменить версию PHP на хостинге и проверить сайт
- Как выбрать версию PHP на FirstVDS и проверить сайт
- Как в PHP защититься от загрузки вредоносного изображения на сайт