Вимкнення функції open_basedir
В разі, коли на вашому сайті при завантаженні сторінок виникають проблеми, що повя'зані з функцією open_basedir, ви можете її вимкнути. На це вказує помилка open_basedir restriction in effect, що з'являється на сервері в логах помилок або на сторінках сайту.
Сенс open_basedir ґрунтується на обмеженні доступу PHP-скриптів сайту до інших каталогів і скриптів, що розміщені поза його межами. Основне призначення цієї функції полягає в ізоляції сайтів, аби кожен із них виділяв файли чи каталоги своєї кореневої директорії без втручання в аналогічні системи інших сайтів.
Щоб вимкнути функцію open_basedir в панелі Hestia, слід виконати наступні дії:
1. Закоментувати рядки, що стосуються зазначеної функції, у темплейт-конфіг-файлі. Розташування темплейт-файлів можна знайти за шляхом /usr/local/hestia/data/templates/web/php-fpm/.
Їхні назви схожі з найменуваннями версій PHP. Наприклад, для версії 7.4 передбачено теймплейт із назвою PHP-7_4.tpl.
Рядок php_admin_value[open_basedir] = необхідно закоментувати. У початок рядка додається символ крапки з комою на кшталт ;php_admin_value[open_basedir] = ...
Виконати це можна в будь-якому редакторі файлів - наприклад, vim або nano. Допоможе впоратися команда sed -i 's/php_admin_value[open_basedir]/;php_admin_value[open_basedir]/g' /usr/local/hestia/data/templates/web/php-fpm/PHP-7_4.tpl' /usr/local/hestia/data/templates/web/php-fpm/PHP-7_4.tpl.
Варто звернути увагу на ім'я файлу - воно має відповідати бажаній версії PHP. Користувач має змінити назву відповідно до своєї потреби.
2. Внести зміни до основної конфігурації сайту та перезавантажити службу PHP. Дії виконуються власноруч за допомогою панелі керування або через команду v-change-web-domain-backend-tpl admin example.pp.ua PHP-7_4.
У зазначеному рядку є три змінні: ім'я користувача, домен сайту та назва темплейта - відповідно admin, example.pp.ua, PHP-7_4.
Користувач змінює наведені дані за своєю потребою перед запуском команди.
3. Перевірити вимкнення функції. Цей крок проводиться із застосуванням скрипта phpinfo.