---
title: 'Как отключить open_basedir в HestiaCP: пошаговая инструкция | Zomro'
description: 'Параметр open_basedir ограничивает доступ PHP к определённым директориям.'
image: 'https://dx86q6oq7ry0e.cloudfront.net/uploads/blog/a48%40server-panel.net/2025/02/28/dalle-2025-02-28-192821-a-sleek-and-modern-rectangular-illustration-for-disabling-open_basedir-in-hestiacp-the-design-features-a-futuristic-purple-themed-interface-with-a-s_q50.jpg'
---

![opened image]()

  * [Zomro](https://zomro.com/rus/)
  * [FAQ](https://zomro.com/rus/blog/faq/)
  * Как отключить open_basedir в HestiaCP: пошаговая инструкция 



# Как отключить open_basedir в HestiaCP: пошаговая инструкция

11-02-2025

## ![](https://dx86q6oq7ry0e.cloudfront.net/uploads/blog/a48%40server-panel.net/2025/02/28/dalle-2025-02-28-192821-a-sleek-and-modern-rectangular-illustration-for-disabling-open_basedir-in-hestiacp-the-design-features-a-futuristic-purple-themed-interface-with-a-s_q50.jpg)

## 

## **1\. Что такое****open_basedir****и почему возникает ошибка?**

Параметр open_basedir ограничивает доступ PHP к определённым директориям. Если скрипт пытается получить доступ к файлу или директории за пределами этих путей, ему будет отказано. Некоторые CMS или плагины требуют полного отключения open_basedir для корректной работы.

Когда появляется ошибка **"Please disable the open_basedir setting to continue"** , это означает, что приложение не может работать из-за включённых ограничений.

## 

## **2\. Проверка текущей ситуации**

Прежде чем что-то менять, важно убедиться, какую именно версию PHP использует ваш сайт и действительно ли включён open_basedir.

### 

### **2.1. Узнаём, где PHP берёт свои настройки**

Создайте в корневой директории вашего сайта **example.com** файл **info.php** :  
  

    
    
    echo "<?php phpinfo();" > /home/USER/web/example.com/public_html/info.php

**Замените на:**

  * **USER** \- пользователь в котором создан сайт;
  * **example.com** \- домен вашего сайта.



Откройте его в браузере:
    
    
    https://example.com/info.php

Найдите строку **Loaded Configuration File** – это путь к основному php.ini, который действительно загружается.

![](https://dx86q6oq7ry0e.cloudfront.net/uploads/blog/a48%40server-panel.net/2025/02/28/01_q50.jpg)

### 

### **2.2. Проверяем значение****open_basedir**

В терминале (SSH) выполните:

  

    
    
    php -i | grep open_basedir

  
Если в выводе будет что-то вроде:  

    
    
    open_basedir => /home/USER/web/example.com/public_html:/tmp

  
– значит, open_basedir установлен.

Если результат будет no `value => no value` – **глобально** open_basedir отключён. Однако он может быть задан в **конфигурации PHP-FPM** для сайта (об этом ниже).

![](https://dx86q6oq7ry0e.cloudfront.net/uploads/blog/a48%40server-panel.net/2025/02/28/02_q50.jpg)

## **3\. Основные способы отключить****open_basedir**

### 

### **3.1. Отключение в глобальном****php.ini**

Если вы выяснили, что сайт использует, например,******vim /etc/php/8.2/fpm/php.ini** , откройте этот файл:

  

    
    
    vim /etc/php/8.2/fpm/php.ini

Найдите строку:
    
    
    open_basedir = ...

И замените её на:
    
    
    open_basedir =

**(пустое значение)**

**Примечание** : Если строка закомментирована **;open_basedir =** , проверьте, чтобы она содержала пустое значение или была просто откомментирована без пути.

![](https://dx86q6oq7ry0e.cloudfront.net/uploads/blog/a48%40server-panel.net/2025/02/28/03_q50.jpg)

После сохранения:

  

    
    
    systemctl restart php8.2-fpm

Однако в HestiaCP такие глобальные изменения могут не сработать, если **open_basedir** прописан в файлах пулов **pool.d**.

### **3.2. Отключение в файлах пулов PHP-FPM (****/etc/php/X.X/fpm/pool.d/*.conf****)**

HestiaCP создаёт отдельные конфигурационные файлы для каждого домена или пользователя в директории:

  

    
    
    /etc/php/8.3/fpm/pool.d/

или
    
    
    /etc/php/8.2/fpm/pool.d/

  
![](https://dx86q6oq7ry0e.cloudfront.net/uploads/blog/a48%40server-panel.net/2025/02/28/04_q50.jpg)  


**(версия PHP может отличаться)**

Для домена **example.com** может существовать файл******example.com.conf**. В нём часто встречается строка:
    
    
    php_admin_value[open_basedir] = /home/USER/web/example.com/public_html:/tmp

Чтобы **полностью** отключить **open_basedir** , откройте этот файл:

  

    
    
    vim /etc/php/8.3/fpm/pool.d/example.com.conf

![](https://dx86q6oq7ry0e.cloudfront.net/uploads/blog/a48%40server-panel.net/2025/02/28/05_q50.jpg)

Найдите строку с **php_admin_value[open_basedir]****** и поменяйте её на:

  

    
    
    php_admin_value[open_basedir] = none

Или просто закомментируйте, добавив **#** в начале:

  

    
    
    #php_admin_value[open_basedir] = ...

Сохраните изменения и перезапустите PHP-FPM:

  

    
    
    systemctl restart php8.3-fpm

После этого проверьте сайт заново.

**Именно этот способ (редактирование в****pool.d****) чаще всего помогает в HestiaCP** , так как панель генерирует свои конфигурационные файлы для каждого домена.

### **3.3. Отключение через панель HestiaCP (если доступно)**

В некоторых версиях HestiaCP предусмотрена команда:

  

    
    
    v-options-set v_host_open_basedir NO
    
    systemctl restart hestia

Она глобально отключает использование **open_basedir** в шаблонах конфигурации.

Если ваша HestiaCP поддерживает эту команду, выполните её и проверьте, не будет ли конфигурация перезаписываться снова.

**3.4. Отключение в шаблонах HestiaCP**

Иногда HestiaCP автоматически перезаписывает файлы pool.d согласно шаблонам, которые обычно лежат по пути:

  

    
    
    /usr/local/hestia/data/templates/web/php-fpm/

Например, шаблон может называться **default.tpl** или **PHP-XYZ.tpl**.

Откройте соответствующий шаблон:  
  

    
    
    vim /usr/local/hestia/data/templates/web/php-fpm/default.tpl

Найдите строку:
    
    
    php_admin_value[open_basedir] = …
    

Удалите её или закомментируйте:  
  

    
    
    #php_admin_value[open_basedir] = …

  3. Сохраните и выйдите.



![](https://dx86q6oq7ry0e.cloudfront.net/uploads/blog/a48%40server-panel.net/2025/02/28/06_q50.jpg)

Если HestiaCP создаёт новые конфиги на основе этого шаблона, впредь open_basedir не будет автоматически включаться.

### **3.5. Использование****.user.ini****или****.htaccess**

В некоторых случаях (особенно на Apache с модулем PHP-FPM) можно попробовать отключить open_basedir через .user.ini или .htaccess. Но **часто это не срабатывает** , потому что php_admin_value в pool.d имеет более высокий приоритет, а также open_basedir может быть заблокирован в глобальных настройках.

#### 

#### **3.5.1.****.user.ini**

  

    
    
    ; /home/USER/web/example.com/public_html/.user.ini
    
    
    open_basedir =

#### **3.5.2.****.htaccess**

  

    
    
    php_admin_value open_basedir none

Если **php_admin_value** установлено в конфигурации PHP-FPM, эти методы могут быть проигнорированы.

### 

### 

### **3.6. Защита файла конфигурации от перезаписи (если необходимо)**

Бывает, что HestiaCP при каждом сохранении настроек в панели заново генерирует файл **pool.d/*.conf**. Тогда можно воспользоваться атрибутом **chattr** в Linux, чтобы сделать файл неизменным даже для root (до тех пор, пока атрибут не будет снят).

  
Сделать файл неизменным:  
  
  

    
    
    chattr +i /etc/php/7.2/fpm/pool.d/example.com.conf
    




  
Если нужно внести правки, сначала снимите атрибут:  
  
  

    
    
    chattr -i /etc/php/7.2/fpm/pool.d/example.com.conf
    
    

После изменений снова установите +i, если хотите продолжать блокировку.




Однако **помните** , что такой подход может усложнить работу панели управления.

## 

## 

## **4\. Пример полного решения (метод, который помог в нашем случае)**

  
**Нашли** файл пула PHP-FPM для домена:  
  
  

    
    
    /etc/php/7.2/fpm/pool.d/example.com.conf
    




  
**Открыли** его в редакторе:  

    
    
    vim /etc/php/7.2/fpm/pool.d/example.com.conf
    

  





**Заменили** строку:  
  

    
    
    php_admin_value[open_basedir] = /home/USER/web/example.com/public_html:/tmp ...

  
на  

    
    
    php_admin_value[open_basedir] = none
    




  
**Сохранили** файл и **перезапустили** PHP-FPM:  
  
  

    
    
    systemctl restart php7.2-fpm
    

**Проверили** работу сайта **https://example.com/info.php** – ошибка пропала.

## 

## **5\. Часто задаваемые вопросы**

### 

### **5.1. Почему в****php.ini****написано, что****open_basedir****отключён, а сайт всё равно ругается?**

Ваша глобальная конфигурация может не содержать **open_basedir** , но HestiaCP добавляет его на уровне файлов **pool.d**. Приоритет в php-fpm имеет именно файл пула.

### 

### **5.2. Безопасно ли отключать****open_basedir****?**

**open_basedir** – это одна из мер безопасности, ограничивающая работу PHP только в определённых директориях. Если у вас нет жёстких требований к безопасности (например, изоляции разных клиентов на одном сервере), его можно отключить. Однако в продакшен-средах стоит внимательно относиться к отключению этой опции.

### 

### **5.3. Нужно ли перезапускать HestiaCP?**

Иногда да. Если вы меняли шаблоны HestiaCP:

  

    
    
    systemctl restart hestia

Но самое главное – перезапустить PHP-FPM:

  

    
    
    systemctl restart php8.2-fpm

(или другую версию PHP, которую использует ваш сайт).

## 

## **Вывод**

  1. Проверьте **фактические** настройки PHP через phpinfo() и узнайте, какой файл pool.d/*.conf действительно используется вашим доменом.
  2. **Измените** или **удалите** директиву php_admin_value[open_basedir], поставив none.
  3. **Перезапустите** PHP-FPM (при необходимости и HestiaCP).
  4. Если HestiaCP продолжает перезаписывать файл – измените шаблон в /usr/local/hestia/data/templates/web/php-fpm/ или используйте chattr +i.



Чаще всего именно правка **pool.d/example.com.conf** решает проблему:

  

    
    
    php_admin_value[open_basedir] = none

После перезапуска PHP-FPM ошибка **"Please disable the open_basedir setting to continue"** должна исчезнуть, и ваш сайт **example.com** заработает корректно. Если же панель по-прежнему восстанавливает настройки, обратите внимание на шаблоны PHP-FPM внутри самой HestiaCP и их конфигурации.

Похожие статьи

[Базовая установка n8n через Docker Compose](https://zomro.com/rus/blog/faq/617-basic-n8n-installation-via-docker-compose) [Как развернуть любую версию PHP в Docker-Compose](https://zomro.com/rus/blog/faq/348-how-to-deploy-any-version-of-php-in-docker-compose-for-beginners) [Как установить FileBrowser в Docker](https://zomro.com/rus/blog/faq/293-kak-ustanovit-file-browser-v-docker) [OpenClaw - Обзор инструмента и установка на сервер](https://zomro.com/rus/blog/faq/695-how-to-install-openclaw-on-linux-server) [Файловый менеджер Midnight Commander](https://zomro.com/rus/blog/faq/207-fajlovyj-menedzher-midnight-commander)

[ Виртуальный хостинг от €3.98/мес ](/rus/virtual)
