2.8.17. open_basedir
Важливі моменти:
- Повної ізоляції сайтів один від одного можна досягти тільки шляхом розміщення їх в окремих хостинг-акаунтах.
- Параметр автоматично вимикається на час роботи профілювальника PHP.
Параметр open_basedir обмежує рівень доступу для скриптів PHP сайту.
Важливо враховувати, що його використання не може забезпечити повної ізоляції сайтів один від одного в рамках одного хостинг-акаунта. Це пов'язано з тим, що параметр обмежує доступ до файлів тільки засобами PHP, однак у разі звернення до файлів за межами встановленого доступу обхідними шляхами, наприклад за допомогою виклику команд через shell_exec (потенційно небезпечні внутрішні функції PHP, які не використовуються скриптами сайту, можна вимикати), доступ не буде обмежений.
У ситуаціях, коли скрипти сайту намагаються звертатися до файлів, доступ до яких для них обмежений за допомогою open_basedir, на сайті може спостерігатися помилка «open_basedir restriction in effect».
Зміна
- Відкрийте налаштування PHP.
- У полі «open_basedir» виберіть потрібний рівень доступу та збережіть зміни:

- «/home/example/example.com/www» — доступ обмежений кореневим каталогом сайту.
- «/home/example/example.com» — доступ обмежений батьківським каталогом кореневого каталогу сайту.
- «/home/example» — доступ обмежений кореневим каталогом хостинг-акаунта.
- «отключить» — доступ не обмежується.
- Зачекайте приблизно 10-15 хвилин, поки зміни набудуть чинності.