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 

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

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

 sudo chmod -R 755 ~/Sites 

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

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

Больше информации здесь: linuxquestions.org/questions/linux-server-73/

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

 chmod 755 index.php 

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

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

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

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

На мой взгляд, истинный способ:

 # 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 {} \; 

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

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

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

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

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

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

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

  • Разрешения файла по умолчанию Apache / var / www /
  • vsFTPd загружает файлы по умолчанию для Ubuntu не работает

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

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

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

Проверьте формат 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 

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

  cd htdocs 

казнить

  chmod -R 755 сайтов 

Не нужно судо!

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

cd / var / www
sudo chown www-data: www-data * -R
sudo usermod -a -G www-data имя пользователя

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

 <i>restorecon '/var/www/html/wiki/index.php'</i> <i>restorecon -R '/var/www/html/wiki/index.php'</i> <i>/sbin/restorecon '/var/www/html/wiki/index.php'</i> 

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

setsebool -P httpd_read_user_content 1