PHP require_once не удалось открыть доступ к потоку.

Я продолжаю получать сообщение об ошибке ниже даже после изменения прав доступа к папке. Я не знаю, что делать. Не уверен, почему. Любая помощь будет принята с благодарностью. Я работаю с сервером Cent-OS, и это php-скрипт.

require_once (mysql_connect.php) [function.require-once]: не удалось открыть поток: разрешение отклонено Дата/время: 28.07.2009 20:09:44


person hoyt.dev    schedule 29.07.2009    source источник
comment
Вы изменили права доступа к папке, а также к файлам внутри? Также иногда каталог должен иметь права на выполнение (я думаю)   -  person Tom Haigh    schedule 29.07.2009
comment
Я проверил и дал apache (я даже дал всем) разрешение на чтение, запись и выполнение безрезультатно. Родительский каталог также имеет набор разрешений. Я раздражен.   -  person hoyt.dev    schedule 29.07.2009


Ответы (2)


Что нужно проверить:

  • Пользователю веб-сервера (часто apache), выполняющему веб-скрипт, требуется разрешение на чтение («r») включенного файла. Пользователь веб-сервера обычно отличается от пользователя, создавшего файлы.
  • Убедитесь, что все родительские каталоги включенного файла имеют соответствующий набор разрешений на выполнение ("x").
  • Параметр open_basedir php.ini. Если этот параметр включен, у вас может быть ограниченный набор разрешений на открытие файлов.
  • Ваши настройки SELINUX.
person zombat    schedule 29.07.2009
comment
opem_basedir закомментирован/не установлен. Я проверил и дал apache (я даже дал всем) разрешение на чтение, запись и выполнение безрезультатно. Родительский каталог также имеет набор разрешений. Я раздражен. - person hoyt.dev; 29.07.2009
comment
Большое спасибо, я долго смотрел на свои конфигурации apache и php и полностью упустил из виду SELinux, который был моей проблемой! - person Brandon Horsley; 19.01.2015
comment
Меня укусил родительский каталог, не имеющий разрешения на выполнение. Сегодня кое-что узнал. - person gillytech; 27.03.2020

Проблема была не в разрешении. Файл, который я включил, был назван mysql_connect.php, который, как я думаю, конфликтует либо с одним из файлов или функций mysql, поэтому сервер путал мой файл с этим и не требовал бы require_once() или include_once() или include() файл. Следовательно, разрешение отказало в фатальной ошибке. Я меняю имя файла и все хорошо. Спасибо вам всем за попытку помочь мне.

person hoyt.dev    schedule 30.07.2009
comment
Спасибо @clientbucket. Но сама ошибка действительно обманчива. - person Junaid Qadir Shekhanzai; 14.05.2012
comment
Спасибо clientbucket, это сводило меня с ума. - person cianz; 19.02.2015