При управлении несколькими сайтами на WordPress на одном сервере часто возникает необходимость использовать разные версии PHP. Это связано с тем, что разные сайты могут требовать различные версии PHP из-за совместимости плагинов, тем или самой версии WordPress. В этой статье подробно разбирается, как настроить несколько версий PHP и переключать их для нужных сайтов, а также рассмотрены примеры плагинов и кодовых решений.
Зачем нужны разные версии PHP для WordPress
WordPress и его плагины постоянно обновляются, а некоторые старые сайты работают на устаревших версиях PHP из-за ограничений совместимости. Например, один сайт может стабильно работать на PHP 7.4, а другой требует PHP 8.1 для новых функций или безопасности. Использование одинаковой версии PHP для всех сайтов может привести к ошибкам и снижению производительности.
Кроме того, при разработке и тестировании новых функций на WordPress полезно иметь возможность быстро переключаться между разными версиями PHP без необходимости менять сервер или конфигурацию вручную.
Основные способы установки и управления версиями PHP на сервере
Использование PHP-FPM с веб-сервером Apache или Nginx
PHP-FPM (FastCGI Process Manager) — это современный способ управления PHP-процессами. Можно установить несколько версий PHP, например, php7.4-fpm, php8.0-fpm, php8.1-fpm и настраивать веб-сервер для передачи запросов на нужный PHP-FPM пул.
Пример настройки для Nginx в виртуальном хосте:
server {
listen 80;
server_name site1.example.com;
root /var/www/site1;
location ~ \.php$ {
fastcgi_pass unix:/run/php/php7.4-fpm.sock;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}
server {
listen 80;
server_name site2.example.com;
root /var/www/site2;
location ~ \.php$ {
fastcgi_pass unix:/run/php/php8.1-fpm.sock;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}Такой подход позволяет каждому сайту использовать отдельную версию PHP без конфликтов.
Использование панели управления хостингом (cPanel, Plesk)
Многие хостинг-панели позволяют выбрать версию PHP для каждого сайта или каталога через графический интерфейс. Если ваш сервер управляется через cPanel или Plesk, то настройка происходит быстро и без ручного вмешательства.
Для пользователей, которые хотят автоматизировать переключение версий PHP, можно использовать WP-CLI и соответствующие команды для проверки и настройки окружения.
Пример функции wpbuy_set_php_version для переключения версии PHP программно
В некоторых случаях полезно программно проверять текущую версию PHP и выдавать рекомендации или ограничения на работе сайта. Ниже пример функции, которая выводит предупреждение, если версия PHP не соответствует минимальной требуемой.
function wpbuy_check_php_version() {
$required_version = '7.4';
if (version_compare(PHP_VERSION, $required_version, '<')) {
add_action('admin_notices', function() {
echo '<div class="notice notice-error">';
echo '<p>Ваша версия PHP устарела. Для корректной работы сайта требуется PHP 7.4 или выше.</p>';
echo '</div>';
});
}
}
add_action('admin_init', 'wpbuy_check_php_version');Этот код можно добавить в functions.php текущей темы или в отдельный плагин. Он поможет вовремя уведомлять администратора сайта об обновлении PHP.
Плагины для управления версиями PHP и совместимостью
Хотя управление версиями PHP происходит на уровне сервера, есть плагины, которые помогают проверять совместимость и управлять настройками:
- PHP Compatibility Checker — проверяет плагины и темы на совместимость с разными версиями PHP.
- WP Health — отображает состояние сервера, включая версию PHP и конфигурации.
- Clearfy Pro (https://wpshop.ru/clearfy-pro/?utm_source=wpbuy.ru&utm_medium=article&utm_campaign=kak-ustanovit-raznye-versii-php-dlya-wordpress-na-odnom-servere) — оптимизирует работу сайта и проверяет системные требования, помогает выявлять проблемы с версиями PHP.
Рекомендации по настройке и поддержке разных версий PHP
1. Тестируйте сайты на локальном сервере с разными версиями PHP перед внедрением на боевой сервер.
2. Обновляйте версии PHP регулярно для безопасности и скорости.
3. Используйте PHP-FPM для гибкого управления версиями и производительностью.
4. Настройте мониторинг ошибок и логов PHP для быстрого реагирования на несовместимости.
Как проверить текущую версию PHP через WordPress
Простой способ — добавить на сайт шорткод, который выводит версию PHP:
function wpbuy_php_version_shortcode() {
return 'Текущая версия PHP: ' . PHP_VERSION;
}
add_shortcode('wpbuy_php_version', 'wpbuy_php_version_shortcode');Используйте шорткод [wpbuy_php_version] в любой записи или странице, чтобы увидеть версию PHP.
Заключение
Управление несколькими версиями PHP на одном сервере — важный навык для разработчиков и администраторов WordPress. Использование PHP-FPM, правильная настройка веб-сервера и мониторинг совместимости помогут поддерживать стабильную и быструю работу сайтов. Рекомендуется использовать плагины для проверки совместимости и своевременно обновлять версии PHP для безопасности и производительности.