Когда на одном сервере размещается несколько сайтов на WordPress, часто возникает необходимость использовать разные версии PHP для каждого из них. Это связано с тем, что некоторые сайты работают на старых версиях плагинов или тем, которые не совместимы с последними версиями PHP, а другие требуют более новых версий для оптимальной производительности и безопасности. В этой статье мы рассмотрим, как настроить разные версии PHP для сайтов на WordPress на одном сервере, используя различные способы и инструменты.
Почему важно использовать разные версии PHP для сайтов на одном сервере
PHP — это серверный язык программирования, на котором построен WordPress. С выходом новых версий PHP разработчики получают улучшенную производительность, новые функции и исправления безопасности. Однако не все плагины и темы мгновенно адаптируются под новые версии, поэтому некоторые сайты могут перестать корректно работать.
Использование разных версий PHP позволяет:
- Поддерживать совместимость старых сайтов и плагинов;
- Использовать преимущества новых версий PHP на актуальных проектах;
- Минимизировать риски сбоев и ошибок;
- Оптимизировать производительность каждого сайта индивидуально.
Способы настройки разных версий PHP для сайтов WordPress
В зависимости от типа вашего хостинга и серверного окружения, есть несколько способов настроить различные версии PHP:
1. Использование панели управления хостингом (cPanel, Plesk, ISPmanager)
Большинство популярных панелей управления позволяют выбирать версию PHP для каждого сайта или поддомена отдельно. Рассмотрим пример для cPanel:
- Войдите в панель управления cPanel;
- Перейдите в раздел «Выбор версии PHP» или «MultiPHP Manager»;
- Выберите домен или поддомен, для которого хотите изменить версию PHP;
- Установите нужную версию PHP и сохраните изменения.
Для Plesk и ISPmanager процедура аналогична — в настройках сайта выбирается нужная версия PHP.
2. Использование файла .htaccess для переключения версии PHP (на Apache сервере)
Если у вас виртуальный хостинг с Apache и поддержкой нескольких версий PHP, часто можно переключить PHP через директивы в .htaccess. Пример для PHP 7.4:
AddHandler application/x-httpd-php74 .php
Или для другой версии, например PHP 8.0:
AddHandler application/x-httpd-php80 .php
Обратите внимание, что синтаксис и доступные версии зависят от конфигурации хостинга. Иногда вместо AddHandler используется SetHandler или другие директивы.
3. Использование пользовательских php-fpm пулов на VPS или выделенном сервере
Если у вас VPS или выделенный сервер с доступом к настройкам, можно установить несколько версий PHP и настроить отдельные пуллы php-fpm для разных сайтов. Затем в конфигурации веб-сервера (nginx или Apache) указывается, какой пул обрабатывать для каждого сайта.
Пример конфигурации для nginx:
server {
server_name site1.ru;
root /var/www/site1.ru;
location ~ \.php$ {
fastcgi_pass unix:/run/php/php7.4-fpm.sock;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}
server {
server_name site2.ru;
root /var/www/site2.ru;
location ~ \.php$ {
fastcgi_pass unix:/run/php/php8.0-fpm.sock;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}
Такой подход дает максимальную гибкость и контроль, но требует администрирования сервера.
Проверка версии PHP на сайте WordPress
Чтобы убедиться, что выбранная версия PHP применяется, можно создать простой файл phpinfo.php в корне сайта с таким содержимым:
<?php
// wpin_phpinfo
phpinfo();
?>
Затем откройте https://ваш-сайт.ru/phpinfo.php в браузере и проверьте указанную версию PHP.
Совместимость популярных плагинов и тем с разными версиями PHP
Некоторые плагины и темы требуют минимальной версии PHP, чтобы корректно работать. Например:
- WooCommerce рекомендует PHP 7.4 и выше для оптимальной работы;
- WPCommunity
- Плагины, написанные давно, могут работать с PHP 5.6, но не поддерживают новые версии.
Если вы используете расширения из WPShop.ru, рекомендуем проверить их требования к PHP в документации.
Пример функции для проверки версии PHP и вывода предупреждения в админке WordPress
Чтобы автоматически информировать администраторов сайта о неподходящей версии PHP, можно добавить в файл functions.php вашей темы следующий код:
<?php
// wpin_check_php_version
function wpin_check_php_version() {
if (version_compare(PHP_VERSION, '7.4', '<')) {
echo '<div class="notice notice-error">';
echo '<p>Внимание! Текущая версия PHP ' . PHP_VERSION . ' устарела и может привести к проблемам с производительностью и безопасностью. Рекомендуется обновить PHP до версии 7.4 или выше.</p>';
echo '</div>';
}
}
add_action('admin_notices', 'wpin_check_php_version');
?>
Этот код выведет красное уведомление в админке, если версия PHP ниже 7.4.
Рекомендации по обновлению и поддержке разных версий PHP
При использовании нескольких версий PHP важно регулярно делать бэкапы и тестировать сайты после обновления. Если вы используете плагин Clearfy Pro, он поможет оптимизировать и обезопасить работу на разных версиях PHP.
Также полезно иметь локальную копию сайта для тестирования обновлений PHP и плагинов перед применением на рабочем сервере.
Заключение
Использование разных версий PHP для сайтов на WordPress на одном сервере — важная практика, позволяющая сохранить стабильность и безопасность проектов. Выбор метода настройки зависит от возможностей вашего хостинга и опыта в администрировании. Тщательное тестирование и мониторинг помогут избежать сбоев и обеспечить комфортную работу сайтов.