До основного вмісту

Зміна версії 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.

Чи була стаття корисною?
← Назад до бази знань Поставити питання підтримці