К основному содержимому

Смена версии PHP в cPanel: MultiPHP Manager

Хостинг и cPanel · 19.04.2026 · 4 мин чтения
Иллюстрация к статье «Смена версии PHP в cPanel: MultiPHP Manager»

На хостинге ZevsHost доступны PHP 7.4, 8.0, 8.1, 8.2, 8.3. Вы можете выбрать версию для каждого домена независимо через MultiPHP Manager, а затем настроить конкретные директивы php.ini тремя разными способами — и от выбора способа зависит, сработает ли настройка вообще.

Смена версии PHP

cPanel → Software → MultiPHP Manager. Поставьте галочку напротив домена → выберите версию PHP → Apply. WordPress 6.x требует PHP 7.4+ и рекомендует 8.1 или 8.2 для лучшей производительности.

Настройка php.ini через MultiPHP INI Editor

cPanel → Software → MultiPHP INI Editor → выберите домен.

ДирективаРекомендуемое значениеОписание
memory_limit256MПамять на скрипт
max_execution_time60Максимум секунд
upload_max_filesize64MМакс. размер загрузки
post_max_size64MМакс. размер POST
max_input_vars3000Макс. переменных POST

Приоритет применения настроек

СпособРаботает с mod_phpРаботает с PHP-FPM
MultiPHP INI EditorДаДа
.htaccess (php_value)ДаНет, игнорируется
.user.iniНет, не читаетсяДа

Большинство современных серверов cPanel используют PHP-FPM по умолчанию, а не mod_php — это значит, что директивы php_value в .htaccess попросту молча игнорируются, если сервер работает на FPM, и правка .htaccess не даст никакого эффекта, даже без явной ошибки. MultiPHP INI Editor работает всегда, потому что редактирует сам файл php.ini для выбранного обработчика, а не пытается переопределить его сверху.

Типичная ошибка: настройка не подействовала

Если после смены версии PHP старый .htaccess ссылается на несуществующий обработчик, Apache возвращает 500 с записью в error_log:

[php:error] [pid 4521] AH01071: Got error 'Primary script unknown'
while reading response header from upstream, referer: https://example.com/

Это значит, что строка вида AddHandler application/x-httpd-php82 .php ссылается на обработчик, которого не существует под этим именем на сервере — например, если версия называется ea-php82, а не просто php82. Решение — удалить устаревшую директиву AddHandler из .htaccess и управлять версией только через MultiPHP Manager.

Вторая частая ловушка — попытка изменить директиву уровня PHP_INI_SYSTEM (например, disable_functions или open_basedir) через .htaccess или .user.ini. Такие директивы можно менять только на уровне главного php.ini сервера или через MultiPHP INI Editor — попытка через .htaccess не вызывает ошибку 500, но значение просто остаётся прежним без каких-либо предупреждений. Отладка таких случаев отнимает больше всего времени именно потому, что нет сообщения об ошибке — единственный способ убедиться в реальном значении директивы — заново открыть phpinfo() и свериться со строкой Local Value для нужного параметра.

Настройка через .htaccess (альтернатива)

# Установить версию PHP для папки
<IfModule mime_module>
    AddHandler application/x-httpd-php82 .php
</IfModule>

# Или через php_value
php_value memory_limit 256M
php_value max_execution_time 60
php_value upload_max_filesize 64M

Настройка через .user.ini

# Создайте файл .user.ini в корне сайта
memory_limit = 256M
max_execution_time = 60
upload_max_filesize = 64M
post_max_size = 64M
max_input_vars = 3000

Когда MultiPHP Manager не подходит

  • Нужна разная версия PHP для двух поддиректорий одного домена, а не для всего домена целиком — MultiPHP Manager переключает версию на уровне домена, тонкая настройка требует .user.ini в конкретной папке
  • Версия PHP в командной строке (SSH, cron) отличается от версии сайта — MultiPHP Manager управляет только веб-обработчиком PHP-FPM, а php -v в терминале может показывать системную версию по умолчанию, если явно не указан путь вроде /usr/local/bin/ea-php82
  • Нужно изменить директиву уровня PHP_INI_SYSTEM (disable_functions, open_basedir) для отдельного сайта — это делает только администратор сервера в основном php.ini, аккаунт cPanel такого доступа не имеет
  • Требуется версия PHP, которой нет в списке MultiPHP Manager — список версий формируется администратором сервера через WHM EasyApache, добавить свою версию из cPanel нельзя

Проверить текущую версию PHP

<?php phpinfo(); ?>
// Сохраните как info.php, откройте, удалите после проверки!

# Через SSH версия CLI может отличаться от версии сайта:
php -v

Если версия в браузере (через phpinfo) и версия в терминале (через php -v) не совпадают — это нормально для cPanel: веб-версия управляется MultiPHP Manager отдельно от версии PHP CLI по умолчанию в системе. Для запуска cron-скриптов используйте полный путь к нужному бинарнику PHP, а не просто команду php. Подробнее о диагностике после смены версии — в статье логи ошибок в cPanel, а про сам механизм PHP Selector — в статье cPanel PHP Selector.

Статья помогла?
← Назад в базу знаний Задать вопрос поддержке