fatal error failed open file

Главное меню » Блог-платформа wordpress » Как устранить ошибку ‘Failed to Open Stream’ в WordPress

Почему происходит ошибка “Failed to Open Stream”?

Перед тем, как попытаться исправить ошибку, было бы полезно понять, что заставляет выводить ошибку “Failed to Open Stream” в WordPress.

Эта ошибка возникает, когда WordPress не может загрузить файл, упомянутый в веб-коде. При возникновении этой ошибки, иногда WordPress продолжит загрузку сайта и только покажет предупреждающее сообщение, в то время как другой сайт на WordPress покажет фатальную ошибку и ничего не загрузится.

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

Как правило, это сообщение будет выглядеть примерно так:

Вот еще один пример:

Сказав это, давайте посмотрим на то, как диагностировать и исправить ошибку “Failed to Open Stream” в WordPress.

Исправление ошибки “Failed to Open Stream” в WordPress

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

В каждом экземпляре не удалось открыть потоковую фразу, за которой следует причина. Например, отказано в разрешении, нет такого файла или каталога, сбой операции и многое другое.

Теперь, если ваше сообщение об ошибке содержит ‘no such file or directory’, то вам нужно смотреть код, чтобы выяснить, какой файл упоминается в этой конкретной строке.

Если это файл плагина или темы, то это означает, что файлы плагина или темы были удалены или установлены неправильно. Просто деактивируйте и переустановите тему/плагин, о котором идет речь, чтобы исправить ошибку.

Тем не менее, также возможно, что WordPress не может найти файлы из-за отсутствия файла .htaccess в корневой папке. В этом случае вам нужно перейти на страницу Настройки » Постоянные ссылки в вашей админки в WordPress и просто нажать кнопку “Сохранить изменения”, чтобы восстановить файл .htaccess.

Если сообщение об ошибке сопровождается ‘Permission denied’, то это означает, что WordPress не имеет правильного разрешения на доступ к файлу или каталогу, на который ссылается в коде.

Чтобы это исправить, вам нужно проверить разрешения на файлы икаталоги в WordPress и исправить их в случае необходимости.

Наконец, некоторые плагины в WordPress загружают скрипты из сторонних источников, таких как Google Analytics, Facebook API,, Google Maps и других API третьих сторон.

Некоторым из этих API, может потребоваться аутентификация или может быть изменен способ к которым разработчики могут получить доступ. Сбой аутентификации или неправильный метод доступа приведет WordPress не в состоянии открыть необходимые файлы.

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

Если ни один из этих советов не поможет устранить проблему, то выполните действия, описанные в нашем руководстве поиска и устранения неисправностей в Worpdress . Этот шаг за шагом руководство поможет вам определить проблему, так что вы можете легко найти решение.

Мы надеемся, что эта статья помогла вам исправить ошибку “Failed to Open Stream” в WordPress. Вы также можете добавить список 25 наиболее распространенных ошибок в WordPress и как их исправить.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

I am getting the following error from Apache

[Sat Mar 19 23:10:50 2011] [warn] mod_fcg ) in /home/viapics1/public_html/common/configs/config.inc.php on line 158

I am definately not an expert of Apache but the file config.inc.php & config_templates.inc.php are there. I also tried navigating to a test.html page I placed in common/configs/ so I assume there is no rights issues going on. I also set the rights on config_templates.inc.php to give everyone read, write, and execute rights. Not sure what to do at this point, I checked to see if there was a /usr/share/php directory and I found there was not but when I did yum install php it said it had the latest. Ideas?

7 Answers 7

It’s not actually an Apache related question. Nor even a PHP related one. To understand this error you have to distinguish a path on the virtual server from a path in the filesystem.

require operator works with files. But there is no

file on the server, but rather

part is called the Document root and it connects the virtual world with the real one. Luckily, web-servers usually have the document root in a configuration variable that they share with PHP. So if you change your code to something like

it will work from any file placed in any directory.

Update: eventually I wrote an article that explains the difference between relative and absolute paths, in the file system and on the web server, which explains the matter in detail, and contains some practical solutions.

Unfortunately, such a handy variable doesn’t exist when you run your script from a command line. In this case a thechnique called «a single entry point» is to the rescue. You may refer to the article above for the details as well.

If you have SELinux running, you might have to grant httpd permission to read from /home dir using:

Run php -f /common/configs/config_templates.inc.php to verify the validity of the PHP syntax in the file.

Just in case this helps anybody else out there, I stumbled on an obscure case for this error triggering last night. Specifically, I was using the require_once method and specifying only a filename and no path, since the file being required was present in the same directory.

I started to get the ‘Failed opening required file’ error at one point. After tearing my hair out for a while, I finally noticed a PHP Warning message immediately above the fatal error output, indicating ‘failed to open stream: Permission denied’, but more importantly, informing me of the path to the file it was trying to open. I then twigged to the fact I had created a copy of the file (with ownership not accessible to Apache) elsewhere that happened to also be in the PHP ‘include’ search path, and ahead of the folder where I wanted it to be picked up. D’oh!

Закинул сайт на yii2/basic на хостинг.
Лезут ошибки:

Когда тестил на локальном сервере такого не было.
Все файлы вроде не месте, что упустил — не знаю.

  • Вопрос задан более года назад
  • 818 просмотров

ну нет же и у Вас в ошибке список того, что не на месте.

Как по мне очевидный перевод.

Звонит мне недавно моя бабушка, говорит: «написано нажмите любую клавишу, что делать?». Где-то из той же оперы )))
Учитесь читать ошибки, без этого «кина не будет».

Оцените статью