Войти  \/ 
x
или
Регистрация  \/ 
x

или

Ошибка open_basedir restriction in effect. File() is not within the allowed path(s)

open_basedir restriction in effect  решение
Предоставить рейтинг этому материалу
( Голосов: 0 ) 
Категория: Настройки сервера, работа с хостингом
# Число комментариев: 0
Просмотров: 687
Обновлено: 27.01.2021 01:52

Ошибки такого рода встречаются довольно часто на любых хостингах и на разных системах управления сайтами, не только Joomla, но и Wordpress, 1С Битрикс, PrestaShop, DataLife, OpenCart

Например

isFile(): open_basedir restriction in effect. File(gantry-themes:/\beez3) is not within the allowed path(s): (e:/htdocs;e:/ospanel/userdata/temp;e:/ospanel/modules/system/html/openserver;e:/ospanel/modules/php/PHP-5.6)

 Или такой вариант

is_dir(): open_basedir restriction in effect

Warning: is_dir(): open_basedir restriction in effect.
File(/plugins/system/nrframework/language)
is not within the allowed path(s): (e:/htdocs;e:/ospanel/userdata/temp;e:/ospanel/modules/system/html/openserver;e:/ospanel/modules/php/PHP-7.0-x64)
in E:\htdocs\localhost\js_kampre\plugins\system\nrframework\NRFramework\Functions.php
on line 383

или такая ошибка

is_writeable(): open_basedir restriction in effect

Warning: is_writeable(): open_basedir restriction in effect. File(/home/u2518645671/public_html/tmp)

или такой вариант

file_exists(): open_basedir restriction in effect

Warning: file_exists() [function.file-exists]:
open_basedir restriction in effect. File(/home/user_name/public_html/wp-content/uploads/2006/12/picture.jpg)

вот ещё один случай:

JFolder::create: Path not in open_basedir paths Unable to create destination

Причины возникновения этой проблемы одинаковые (кроме последнего примера), несмотря на немного разные сообщения об ошибках ⇒ Это меры безопасности на хостинге, сервере, VDS и т.д.

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

Если функция или скрипт пробует открыть (записать в файл), который находится вне папок, куда можно лезть, тогда PHP откажется выполнять это действие и появится ошибка о которой мы говорим open_basedir restriction in effect

⇒ Разберём варианты её решения.

Решение 1 ⇒ отменяем / отключаем open_basedir

1 Отменяем все ограничения open_basedir и открываем доступ ко всем директориям, указав значение
open_basedir = none

Отменяем все ограничения open_basedir и открываем доступ ко всем директориям, указав значение
open_basedir = none

2 Это можно сделать в настройках Апача
Открываем файл настроек (в зависимости от хостинга и настроек сервера) httpd.conf
vhost.conf
vhost_ssl.conf
httpd.conf
default.tpl для Vesta
для ISPmanager4 нужно править:
/usr/local/etc/apache22/httpd.conf если используете FreeBSD
/etc/httpd/apache.conf если операционка Debian
/etc/apache/conf/apache.conf если ОС CentOS
для ISPmanager5 правим в:
/etc/apache2/vhosts/пользователь/доменное имя сайта
и для параметра
php_admin_value open_basedir
устанавливаем значение none

 Перезагружаем сервер.

Решение 2 ⇒ отменяем / отключаем open_basedir в файле PHP.ini

3 Отключить ( закомментировать строку ):

%disallow%open_basedir = "%ssitedir%;%sprogdir%/userdata/temp;%sprogdir%/modules/system/html/openserver;%sprogdir%/modules/php/%phpdriver%"

в файле PHP.ini или в одном из вариантов вида: PHP-5.6_php.ini

! Внимание! НО
➡ этот вариант быстрый, но не безопасный,
Поэтому, переходим к ➡

Решение 3 ⇒ отменяем ограничения в доступе для некоторых папок

4 Не отключаем PHP функцию open_basedir, а добавляем в разрешённые нужные вам папки, например
если ошибки указывают на папку /language/, добавим её в список папок к которым доступ разрешён.

Делается это так:
В настройках Apache ищем строку
php_admin_value open_basedir
и добавляем нужную нам директорию через двоеточие
Например /usr/lib/php:/usr/local/lib/php:/home/user_account/:/usr/lib/php:/usr/local/lib/php:/tmp:/new_directory/:/new_directory/
Для локального windows сервера эти настройки будут немного другими (точка с запятою вместо двоеточия)
open_basedir = C:\Windows\TEMP;E:\htdocs\localhost\js_kampre\plugins\system\nrframework\language\

Перезагружаем сервер.

Решение 4 для случая ⇒ JFolder::create: Path not in open_basedir paths

или в русскоязычном варианте:

Решение 4 для случая ⇒ JFolder::create: Путь не в пределах значения переменной open_basedir

или ещё вариант:

Решение 4 для случая ⇒ JFolder::create: Не удалось создать каталог, Внимание! Не удалось переместить файл!

5 Причина ошибки JFolder::create: Path not in open_basedir paths Unable to create destination более простая и банальная. Возникает при попытке установить компонент, модуль. Она возникает после переноса или перезда сайта на другой сервер / хостинг и связана с неверно прописанным в конфиге (configuration.php) путем к папке TEMP ( например на локали это будет так public $tmp_path = 'E:\\htdocs\\localhost\\js_kampre/tmp';, а на сервере хостинга public $tmp_path = '/var/www/...../data/www/vash-sait.ru/tmp'; ).

Перезагружаем сервер.

6 Проверить всё ли хорошо с вашими настройками после перезда сайта на другой хостинг можно в панели Администратора.

Система >> Информация о системе, вкладка «Права доступа на каталоги», найдите папки:
/tmp (Каталог для временных файлов)
/logs (Каталог файлов лога)
Проверьте для них правильность путей и прав.

Если что то не так ➡ Правим configuration.php или, что для кого то проще,
Система >> Общие настройки >>Система >> Сервер
правим
путь к каталогу временных файлов.
Сохраняем.

Если не помогло, то ➡

7 Это решение для старых версий Joomla 1.5.x
Ищем файл /libraries/joomla/filesystem/folder.php и в нём отключем / комментируем строку $obd = ini_get('open_basedir');

Хотя это не самый лучший вариант решения ...

ещё вариант ➡

8 Это решение для старых версий Joomla 1.5.x
Ищем файл /libraries/joomla/filesystem/folder.php и в нём меняем в строке
public static function create($path = '', $mode = 0755)
права с 0755 на 0770

Если не получилось, то ➡

9 Проверяем архив, который вы ставите. Там может быть неверная или вложенная папка с файлами.
Распаковываем - проверяем. Перезапаковываем архив и устанавливаем снова.

Если не сработало, то ➡

10 Закачиваем установочные файлы не со своего компьютера, как это делается обычно, а с директории tmp в корневой папке Joomla. (Этот вариант много раз  «спасал» )
Другими словами: сначала закачиваем нужные файлы со своего компьютера в директорию /tmp/ и затем Установку расширения производим выбирая в настройках
Установить из каталога
и там пусть такого вида /var/www/...../data/www/vash-sait.ru/tmp/

 Разумеется, каталог /tmp/ должен быть доступен на запись! (как и другие каталоги, в которые новое дополнение будет устанавливаться ) 

11 Если вы используете на своём сайте RSFirewall, то он создаёт или пытается создать свой собственный php.ini настройки open_basedir и изменить configuration.php, поэтому RSFirewall тоже может создавать дополнительные ограничения. Подробнее

Ни что не помогло ? ➡

12 Проверяем, на всякий случай, файл .htaccess в корне сайта. Там могут быть указаны дополнительные настройки для open_basedir. Проверяем их и правим

 

Добавить комментарий


Защитный код
Обновить

О нашем проекте

Проект Joom-la-la предназначен для начинающих пользователей Системы управления сайтами Joomla; программистов, администраторов. Мы хотим поделиться с вами своими наработками и примерами.

Это один из сотен сайтов, сделанных нами в рамках бренда Petrovich Group. Надеемся быть вам полезными и ждём ваших комментариев

Петрович

Контактная информация

Владивосток, Россия
+ 7 423 2 *** ***
888 (@) jom-la-la.ru
petrovichgroup.ru
****

Новые публикации

18
янв2018

Не пускает в админку...

Иногда. особенно при копировании контента с другого сайта или базы, возникает потребность изменить I...

18
июнь2017

Ошибка categories_ru...

Обнаружена ошибка. 1146 Table 'datajet1.#__virtuemart_categories_ru_ru' doesn't exist  

16
март2018

Обнаружена ошибка. U...

При попытке сохранить файл configuration появляется сообщение: 0 - Обнаружена ошибка. Unable to load...

17
июнь2017

Требования к хостинг...

Как настроить ПО сервера для работы Joomla? Требования для Joomla! 3.x

21
июль2017

Настраиваем Helix Me...

Настраиваем много-колоночный вывод пунктов меню в выпадающем меню - Helix Mega Menu

21
июнь2017

После обновления до...

После обновления Joomla до 3.6 в разделе Менеджер расширений - установить появляется  Предупреж...

✔Мы можем, ✔мы делаем, ✔мы решаем! ✰✰✰✰✰

Big Data, Статистика

Анализируем большие объёмы данных, ведём и анализируем статистику

Онлайн Чаты

Устанавливаем на сайты онлайн Чаты, для организации службы поддержки посетителей сайта

Баннерная Сеть

Разместим ваши баннеры, посты, объявления в нашей сети сайтов различной тематики

Видео на YouTube

Делаем видео ролики и размещаем их на YouTube. Там же делаем посты и ссылки