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
17 ответов:
испытал ту же ошибку, для меня это было вызвано тем, что на моем 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работал для меня.
я получил эту проблему, когда вставить неправильный адрес файла в
.htaccessphp_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 {} \;
вот некоторые руководство, как это исправить. Перейти к :
cd /var/www sudo chown www-data:www-data * -R sudo usermod -a -G www-data usernameизменить userneme с вашим именем пользователя. Я надеюсь, что это поможет.
Это случилось со мной сегодня с / home / user/public_html / index.php и решение было сделать
chmod o+x /home/userпоскольку этот каталог должен иметь X, так как в противном случае сервер apache не может перечислять файлы (т. е. dols)
это проблема блокировки 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'
Я только что столкнулся с этой же проблемой, и в моем случае это было вызвано selinux. Его отключение решило проблему. И нет, мне не нужен селинукс на моей рабочей станции, спасибо.
как раз цитата для вышеуказанного ответа user1992554 Этот отлично работал для меня в Linux Mint, чтобы избавиться от предупреждения: не удалось открыть поток: разрешение отказано
cd / var / www
sudo chown www-data: www-data * - R
sudo usermod-A-G www-data username
в Fedora 25 это оказалось проблемой SE Linux, и уведомление дало это решение, которое сработало для меня.
setsebool-P httpd_read_user_content 1
Это также происходит (и особенно смущает), если вы забыли, что вы создали символическую ссылку Windows на другой каталог, и что другой каталог не имеет соответствующих разрешений.
Это не прямой ответ на вопрос, но у меня была та же проблема. Я установил VSFTPD на моем сервере Ubuntu VPS. Я мог загружать файлы, но каждый загруженный файл не имел разрешения на выполнение (все файлы имели права "600"). Эти сообщения объясняют, что именно вам нужно сделать, чтобы настроить VSFTPD для установки прав по умолчанию на ваши файлы:
однажды это случилось и со мной. и когда я погуглил этот вопрос, я узнал, что это происходит, когда разрешения на файл ошибочно установлены на 000 (что означает, что никто не может читать, писать или выполнять этот файл). Затем я просто изменил свои права доступа к файлам на чтение и запись, и это сработало для меня.
чтобы изменить настройки разрешения файла на mac: щелкните правой кнопкой мыши на конкретном файле и нажмите кнопку Получить информацию из выпадающего меню и обратитесь к разделу общий доступ и разрешения панель и изменить настройки привилегий в чтение и запись
Проверьте формат файлов 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
в моем случае группа
_wwwчто apache использует отсутствовал в списке доступа к папке, поэтому сначала мне пришлось добавить отсутствующую группу, например:sudo chown -R _www ~/path-to-folderизменить
_wwwдля любого пользователя или группы, в которой работает apache.узнайте пользователя/группу apache с помощью
apachectl -Sвыход огромный, но посмотрите в самом конце что-то вроде:
User: name="_www" Group: name="_www"
Comments