
Когда программы в PHP в веб-сервер обычно делают толпы включает в себя o требует другие файлы вашего веб-приложения. Либо потому, что вам нужно некоторый класс или определенные функции, для удобства, Модульность и очистить ваш код, Вы можете найти в другой серии хорошо классифицированы и структурированных файлов.
Включение или запросы на файлы в PHP, или даже доступ к файлу с помощью функции fopen, Когда путь является правильным, как правило, не дают проблемы, Если этот файл, или каталог, в котором оно размещено, не имеют разрешения соответствующие чтения. Но другие раз, ли как меры безопасности или по любой другой причине, файлы для тех, кому нужен доступ расположены за пределами веб-папку нашего проекта, т.е., в папках, которые должны более низкие уровни чтобы из Корневая папка нашего веб-сайта.
Вы возможно произошло однажды, Когда вы пытаетесь доступ за пределами из Корневая папка вашего сайта, системы, у вас отказано доступ к, по-прежнему иметь необходимые разрешения для этих же, с следующее сообщение:
1 | open_basedir restriction in effect. File(../ruta/archivo.php) is not within the allowed path(s) |
Это говорит нам, что Директива PHP, open_basedir, Это предотвращение Я иду в место, где расположен файл. Как вы обсуждаете, open_basedir является директивой, указывает, что предел файл, который PHP можно получить доступ по пути или в указанном дереве каталогов, Типа того, Если файл, который вы хотите использовать ниже то же самое, система даст вам это Ошибка.
Изменение файла php.ini
Эта политика настраивается в файле PHP.ini, но в дополнение, Она также может быть включена в файл конфигурации из Apache. Типа того, в качестве первого шага для решения этой ошибки, Вы должны доступ к в файле конфигурации PHP, Посмотрите на линии в вопросе и изменить его с маршрута или маршрутов разрешено.
1 2 3 4 5 6 | //php.ini ... ... open_basedir = "/ruta/webs/miweb/www:/ruta/webs/miweb" ... ... |
В этом примере, PHP сконфигурирован так, что система может получить доступ к оба для всех более высокие уровни Начиная от: /маршрут/тканей/miweb/www, как все сверху /маршрут/тканей/miweb, разрешения на доступ различных папок и файлов, которые, таким образом позволяя.
После изменения файла PHP.ini и перезагрузка в веб-сервер, доступ к файлу в вопросе должны быть в состоянии быть сделано и, Поэтому, Ошибка Он должен уйти.
Изменение файла конфигурации Apache
Да еще ошибка повторяется, весьма вероятно, что в файл конфигурации из Apache Эта директива также позволили. Для этого, Найдите файл, В зависимости от установки вам будет в той или иной маршруты, обычно в /и т.д. / apache2 / или в /Главная/Ваш пользователя/conf/веб /. Этот файл обычно имеет имя apache2.conf o sapache2.conf, В зависимости от того, используете ли вы HTTPS или не.
Однажды внутри, находит элемент <VirtualHost> для вашего домена, и внутри тега <Каталог> должен появиться что-то вроде следующих:
1 2 3 4 5 6 7 | <Directory...> ... ... php_admin_value open_basedir /ruta/webs/miweb/www:/ruta/webs/miweb ... ... </Directory> |
Вот, где вы настраиваете Эта директива. Как просто, как изменить o Добавить маршрута или маршрутов, которые вы хотите иметь эту директиву, Сохранить изменения и перезапуск сервера. Один раз, в ошибка не будет.
Таким образом вы можете получить доступ к по включает в себя, требует или даже с помощью функции fopen для файлов, которые являются ниже из корень из вашего веб-сайт, возможно, на этих файлов маршрутов, которые требуют определенной степень безопасности, и таким образом ошибка “open_basedir ограничение в силу” прокомментировал, завершить исчезновение.
