Рейтинг:0

Ошибка NGINX: open_basedir

флаг cn

Я получил эту ошибку с моего сервера NGINX, когда запускаю скрипт в Prestashop. Я думаю, что это то, что я могу решить в конфигурации NGINX или что-то в этом роде, но мне нужна помощь, чтобы сказать мне, что делать.

Предупреждение: file_exists(): действует ограничение open_basedir. 
Файл (/www/wwwroot/panel_ssl_site/../app/etc/env.php) не находится внутри 
разрешенные пути: (/www/wwwroot/panel_ssl_site/) в
/www/wwwroot/panel_ssl_site/bridge_i15GpcsW.php в строке 832
  • Как я могу это решить?

Спасибо,

Петтер

Рейтинг:0
флаг za

Что такое PHP open_basedir

Он ограничивает файлы, к которым может получить доступ PHP, указанным дерево каталогов, включая сам файл. Эта директива не является затронутый независимо от того, включен или выключен безопасный режим.

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

open_basedir может влиять не только на функции файловой системы; за пример, если MySQL настроен на использование драйверов mysqlnd, LOAD DATA INFILE будет зависеть от open_basedir. Большая часть расширенного таким образом функциональность PHP использует open_basedir.

Особое значение. указывает, что рабочий каталог скрипта будет использоваться как базовый каталог. Однако это немного опасно, так как рабочий каталог скрипта может быть легко изменен с помощью chdir().

В httpd.conf можно отключить open_basedir (например, для некоторых виртуальных hosts) так же, как и любая другая директива конфигурации с "php_admin_value open_basedir нет".

В Windows разделяйте каталоги точкой с запятой. На всех остальных системы, разделяйте каталоги двоеточием. Как модуль Apache, Пути open_basedir из родительских каталогов теперь автоматически унаследовал.

Ограничение, указанное с помощью open_basedir, — это имя каталога, а не префикс.

По умолчанию разрешено открывать все файлы.

Ссылка PHP.NET, 1

Заключение

Вы использовали open_basedir и не обновили путь. Кроме того, я считаю, что этот вопрос следует задать суперпользователю, поскольку доказательства говорят мне, что вы не используете среду, связанную с бизнесом.

php.ini (в Debian 10)

; open_basedir, если установлено, ограничивает все операции с файлами определенным каталогом
; и ниже. Эта директива имеет смысл, если используется в каталоге
; или файл конфигурации веб-сервера для каждого виртуального хоста.
; Примечание: отключает кеш реального пути
; http://php.net/open-basedir
;open_basedir =

Этот пример, приведенный выше, является настройкой ПО УМОЛЧАНИЮ в Debian 10, которая обычно также является настройкой по умолчанию на php.net. Это означает, что вы изменили его либо вручную. Или то, во что я верю, поскольку имена путей включают «panel_ssl_site», заключается в том, что я думаю, что вы используете панель администратора, и это приводит к тому, что этот вопрос переходит в OFF TOPIC. Тем не менее, каждая панель администратора также должна иметь возможность изменить этот параметр, см. Справку. StackOverflow по той же проблеме

Michael Hampton avatar
флаг cz
Я не вижу здесь ничего, что указывало бы на то, что это не бизнес-среда и что следует обращаться к [su].
djdomi avatar
флаг za
@MichaelHampton /www/wwwroot/panel_ssl_site используется по умолчанию для [AAPanel](https://www.aapanel.com/index.html), поэтому я думаю, что он не используется для профессионального хостинга.
Michael Hampton avatar
флаг cz
О, новый, о котором я никогда не слышал! У нас есть серьезная причина именно для массовых панелей управления веб-хостингом, таких как cPanel, Plesk и т. д., так что это кажется более подходящим.
djdomi avatar
флаг za
@MichaelHampton Никто не перестает учиться новому, не так ли? ;) но Peng58, кажется, ушел, так как нет ответа

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.