Подтвердить что ты не робот

PHP Предупреждение: Неизвестно: не удалось открыть поток

Недавно я отредактировал файл apache httpd.conf для работы mod_rewrite. Я не знаю, возникла ли эта проблема из этого или нет, но я получаю эту проблему с того дня. Это то, что я вижу во внешнем интерфейсе при запуске программного обеспечения -

Ошибка сервера На веб-сайте ошибка при получении http://localhost/prestashop/. Это может для обслуживания или настройки неправильно.

Нет специального файла, который запускает это. Но я видел, что обычно небольшие программы, состоящие из 4-5 php файлов, отлично работают, но программных продуктов с большим количеством файлов (например, PrestaShop) нет.
Я проверил журналы, и это то, что я нашел.

[Wed Mar 16 19:33:39 2011] [error] [client ::1] PHP Warning:  Unknown: failed to open stream: Permission denied in Unknown on line 0
[Wed Mar 16 19:33:39 2011] [error] [client ::1] PHP Fatal error:  Unknown: Failed opening required '/var/www/html/yomig/index.php' (include_path='.:/usr/share/pear:/usr/share/php') in Unknown on line 0
[Wed Mar 16 19:33:39 2011] [error] [client ::1] File does not exist: /var/www/html/favicon.ico
[Wed Mar 16 19:33:41 2011] [error] [client ::1] PHP Warning:  Unknown: failed to open stream: Permission denied in Unknown on line 0
[Wed Mar 16 19:33:41 2011] [error] [client ::1] PHP Fatal error:  Unknown: Failed opening required '/var/www/html/yomig/index.php' (include_path='.:/usr/share/pear:/usr/share/php') in Unknown on line 0
4b9b3361

Ответ 1

Опытная ошибка, для меня это было вызвано тем, что на моем Mac я изменил DocumentRoot на каталог моих пользователей.

Чтобы исправить это, я запустил рекурсивную команду, чтобы убедиться, что у службы Apache есть разрешения на чтение.

sudo chmod -R 755 ~/Sites

Ответ 2

Если вы используете Fedora, убедитесь, что SELinux не мешает. Вы исправите это с помощью этой команды:

    sudo /sbin/restorecon -R /var/www/. 

Подробнее здесь: linuxquestions.org/questions/linux-server-73/

Ответ 3

У меня была такая же ошибка, и моя проблема была в том, что права доступа к файлам были неправильными.

chmod 755 index.php

работал у меня.

Ответ 4

У меня возникла эта проблема, когда вставлять неправильный адрес файла в .htaccess

php_value auto_prepend_file "/home/user/wrong/address/config.php"

Итак, если вы используете auto_prepend_file, проверьте свой путь к файлу. Он вызвал от .htaccess, поэтому PHP не может определить файл ошибки и строку.

Ответ 5

В моем сознании истинный способ:

# add READ permission to all directories and files under your DocumentRoot
sudo chmod +r /path/to/DocumentRoot/ -R

# add EXECUTE permission to all DIRECTORIES under your DocumentRoot
find /path/to/DocumentRoot/ -type d -exec chmod +x {} \;

Ответ 6

Вот несколько советов, как это исправить. Перейдите к:

cd /var/www

sudo chown www-data:www-data * -R

sudo usermod -a -G www-data username

Измените userneme на свое имя пользователя. Надеюсь, это поможет.

Ответ 7

Это случилось со мной сегодня с /home/user/public_html/index.php, и решение должно было выполнить chmod o+x /home/user, поскольку этот каталог должен иметь X, так как в противном случае сервер Apache может " t список файлов (т.е. do ls)

Ответ 8

Это проблема блокировки SELinux, Linux запретил доступ httpd. Вот решение :

# restorecon '/var/www/html/wiki/index.php'
# restorecon -R '/var/www/html/wiki/index.php'
# /sbin/restorecon '/var/www/html/wiki/index.php'

Ответ 9

Я только что наткнулся на эту же проблему, и в моем случае это было вызвано selinux. Отключение его решило проблему. И нет, мне не нужны selinux на моей рабочей станции, спасибо.

Ответ 10

Просто укажите для ответа выше user1992554 Это отлично сработало для меня в Linux Mint, чтобы избавиться от Warning: не удалось открыть поток: Permission denied

cd/var/www
sudo chown www-data: www-data * -R
sudo usermod -a -G www-data username

Ответ 11

В Fedora 25 он оказался проблемой Linux Linux, и уведомление дало это решение, которое сработало для меня.

setsebool -P httpd_read_user_content 1

Ответ 12

В моем случае группа _www которую использует apache, отсутствовала в списке доступа к папкам, поэтому сначала мне нужно было добавить отсутствующую группу, например так:

sudo chown -R _www ~/path-to-folder

Измените _www на любого пользователя или группу, под которой работает apache.

Найдите пользователя/группу apache с помощью apachectl -S

Вывод огромен, но посмотрите в самом конце что-то вроде:

User: name="_www"
Group: name="_www"

Ответ 13

Это также случается (и особенно путается), если вы забыли, что создали символическую ссылку Windows для другого каталога, а другой каталог не имеет соответствующих разрешений.

Ответ 14

Это не прямой ответ на вопрос, но у меня была та же проблема. Я установил VSFTPD на свой Ubuntu Server VPS. Я мог загружать файлы, но у каждого загруженного файла не было разрешений на выполнение (все файлы имели права "600" ). Эти сообщения объясняют, что именно вам нужно сделать, чтобы настроить VSFTPD для установки прав по умолчанию на ваши файлы:

Ответ 15

Однажды это случается и со мной. и когда я разобрался в этом вопросе, я узнал, что это происходит, когда разрешения на файл ошибочно установлены на 000 (это означает, что никто не может читать, писать или исполнять этот файл). Затем я просто изменил права доступа к файлам в Read и Write, и это сработало для меня.

Чтобы изменить настройки разрешений для файлов на Mac: щелкните правой кнопкой мыши на конкретном файле и нажмите "Получить информацию" в раскрывающемся меню и перейдите на панель совместного доступа и разрешений и измените настройки привилегий на "Чтение и запись"

Подробнее: http://www.itoctopus.com/warning-unknown-failed-to-open-stream-permission-denied-in-unknown-on-line-0-error-in-joomla

Ответ 16

Проверьте формат файлов dos и unix. Эта проблема наблюдается на платформах Linux, если используется формат файла dos. Используйте команду doc2unix, как показано ниже, а затем повторите попытку. dos2unix *.php

Это решение для проблемы ниже

Wed Nov 12 07:50:19 2014] [error] [client IP1] PHP Warning: Unknown: failed to
    open stream: Permission denied in Unknown on line 0
[Wed Nov 12 07:50:19 2014] [error] [client IP1] PHP Fatal error: Unknown: Failed
    opening required '/var/www/html/index.php' (include_path='.:/usr/share/pear:
    /usr/share/php') in Unknown on line 0

Ответ 17

Перейдите в папку htdocs

cd htdocs

Выполнить

chmod -R 755 sites

Не нужно sudo!

Ответ 18

Кроме разрешений, проблема может быть open_basedir. Если вы используете его (и я предлагаю его использовать), то проверьте настройки на VirtualHost:

 php_admin_value open_basedir <YOUR ROOT>