Зміна версії PHP
ZevsHost підтримує PHP 7.4, 8.0, 8.1, 8.2 та 8.3. Ви можете змінювати версію будь-якої миті без перезавантаження сервера — зміна версії зачіпає лише обробку PHP-скриптів, а не веб-сервер цілком.
Через MultiPHP Manager
- Увійдіть у cPanel
- Перейдіть у розділ «PHP» → «MultiPHP Manager»
- Оберіть домен чи директорію
- У випадному списку оберіть потрібну версію PHP
- Натисніть «Apply»

Зміна застосовується миттєво і діє лише для обраного домену — інші сайти на тому самому акаунті продовжують працювати на попередній версії.
Через .htaccess
Якщо потрібно задати версію для окремої піддиректорії, а не всього домену, додайте до файлу .htaccess рядок:
AddType application/x-httpd-php83 .php
Такий спосіб працює не на всіх конфігураціях сервера — якщо у хостинг-провайдера вимкнено mod_suphp або використовується суто FPM-обробник без Apache-хендлерів, ця директива буде проігнорована, і версію потрібно змінювати лише через MultiPHP Manager.
Реальні помилки при зміні версії PHP
Після підвищення версії старий код часто перестає працювати з повідомленням такого вигляду:
Fatal error: Uncaught Error: Call to undefined function create_function()
in /home/user/public_html/wp-content/themes/old-theme/functions.php:112
Це означає, що функцію видалено з мови в новій версії (create_function прибрано в PHP 8.0) — єдине рішення — замінити виклик на анонімну функцію в коді, повернення на стару версію PHP не врятує від накопичення таких проблем у майбутньому. При пониженні версії, навпаки, трапляється помилка синтаксису нових конструкцій:
Parse error: syntax error, unexpected '=>' (T_DOUBLE_ARROW), expecting ')'
in /home/user/public_html/index.php on line 8
Так виглядає спроба виконати match-вираз або іменовані аргументи PHP 8.x на рушії PHP 7.4, який їх не розуміє.
Порівняння версій PHP
| Версія PHP | Статус | Рекомендується для |
|---|---|---|
| PHP 8.3 | Актуальна | Нові проєкти |
| PHP 8.2 | LTS | WordPress, Laravel |
| PHP 8.1 | Security only | Старі проєкти |
| PHP 7.4 | EOL з грудня 2022 | Не рекомендується |
Налаштування php.ini для нової версії
У кожної версії PHP в MultiPHP INI Editor (cPanel → «PHP» → «MultiPHP INI Editor») власні значення директив — при перемиканні версії вони не успадковуються автоматично. Рекомендовані значення для більшості CMS:
| Директива | Рекомендоване значення | Опис |
|---|---|---|
| memory_limit | 256M | Пам'ять на один скрипт |
| max_execution_time | 60 | Максимум секунд виконання |
| upload_max_filesize | 64M | Максимальний розмір файлу для завантаження |
| post_max_size | 64M | Максимальний розмір POST-запиту |
| max_input_vars | 3000 | Максимум змінних у формі |
Ці самі значення можна задати через файл .user.ini в корені сайту, якщо провайдер не надає доступу до MultiPHP INI Editor для окремої піддиректорії. Зміни через .user.ini застосовуються не миттєво, а із затримкою до п'яти хвилин — за це відповідає директива user_ini.cache_ttl, і це варто врахувати, якщо правка здається «не спрацювала»:
memory_limit = 256M
max_execution_time = 60
upload_max_filesize = 64M
post_max_size = 64M
max_input_vars = 3000
Детальний розбір кожної директиви — у статті про memory_limit і upload_max_filesize.
Коли не варто змінювати версію одразу
- Сайт використовує плагіни чи теми, які давно не оновлював автор — спершу перевірте їхню сторінку підтримки на сумісність із новою версією
- Немає доступу до staging-копії сайту — зміна версії на робочому сайті без перевірки ризикує обвалити сайт на очах у відвідувачів
- Використовуються саморобні розширення PHP (.so файли) — їх потрібно перезібрати під нову версію, простою зміною в MultiPHP Manager це не вирішується
- Код активно використовує функції, видалені в PHP 8.x (create_function, each, get_magic_quotes_gpc) — їх доведеться переписати перед переходом
Рекомендації
- WordPress 6.x найкраще працює на PHP 8.2
- Старі сайти із застарілим кодом подекуди вимагають PHP 7.4, але ця версія не отримує патчів безпеки з грудня 2022 року
- Після зміни версії перевірте роботу сайту: головну сторінку, форму зворотного зв'язку, адмін-панель
Перевірка результату
Щоб переконатися, що версія справді змінилася, створіть тимчасовий файл із вмістом:
<?php phpinfo(); ?>
Відкрийте його в браузері, знайдіть рядок «PHP Version» у самому верху сторінки і обов'язково видаліть файл одразу після перевірки — phpinfo() виводить подробиці про сервер, включно зі шляхами до файлів і списком встановлених розширень, які не повинні бути доступні стороннім. Детальніше про ліміти пам'яті та завантаження файлів для нової версії — у статті про PHP Selector і MultiPHP INI Editor, а про діагностику помилок після зміни версії — у статті про розбір error_log у cPanel.