Якщо завантаження сторінок на сайті супроводжується проблемами, пов’язаними з open_basedir, можна вимкнути зазначену функцію. Про неї свідчить помилка open_basedir restriction in effect, яка виникає у [логах помилок] на сервері чи на сторінках сайту.
Суть open_basedir полягає в обмеженні доступу PHP-скриптів сайту до інших каталогів та скриптів, розміщених поза його межами. Основне призначення функції полягає в ізоляції сайтів, щоб кожен з них виокремлював файли або каталоги своєї кореневої директорії без втручання в аналогічні системи інших сайтів.
Актуальність наведеного нижче алгоритму зберігається для панелі Hestia. Перш ніж почати роботу, користувачеві належить упевнитися в проведенні [снапшот сервера], адже відповідальність за процес покладається на власника сервера. Алгоритм дій такий:
- Закоментування рядка, що відноситься до зазначеної функції, у темплейт-конфіг-файлі. Розташування темплейт-файлів можна знайти за шляхом /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. У ній варто звернути увагу на ім’я файлу: він повинен відповідати бажаній версії PHP. Користувач має змінити назву відповідно до потреби.
- Внести зміни в основну конфігурацію сайту і перезавантажити службу PHP. Дії виконуються власноруч за допомогою панелі керування або через команду v-change-web-domain-backend-tpl admin example.pp.ua PHP-7_4. У зазначеному рядку є три змінні: ім’я користувача, домен сайту і назва темплейту — відповідно admin, example.pp.ua, PHP-7_4. Користувач змінює наведені дані за своєю потребою перед запуском команди.
- Перевірити вимкнення функції.
Останній етап проводиться із застосуванням скрипту phpinfo.
