hosting:php:errors:failed-opening-required

2.8.2.2. Ошибка «Fatal error: require*(): Failed opening required»

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

Fatal error: require*(): Failed opening required ~/example.com/www/example.php in /home/example/example.com/www/somefile.php
  • require*(): — функция, с помощью которой скрипт обращался к файлу. Вместо require могут быть другие функции: require_once, include и т. д.
  • Failed opening required ~/example.com/www/example.php — причина возникновения ошибки. В данном случае сообщается о том, что файл ~/example.com/www/example.php не может быть найден по указанному пути или к нему нет доступа.
  • in /home/example/example.com/www/somefile.php — файла, из которого выполнялось обращение к другому файлу. Эта информация может быть полезна для отладки.

Наиболее распространённые причины данной ошибки:

  • Отсутствие вызываемого файла.
    Наиболее частой причиной является именно отсутствие вызываемого файла. Проблема может наблюдаться при копировании, перемещении или других действиях с файлами сайта. Также иногда файлы могут быть удалены как пользователем, так и скриптами самих сайтов, из-за чего и будет возникать такая ошибка.
  • Неправильный путь к вызываемому файлу.
    В случае возникновения такой проблемы стоит обратить внимание на корректность пути к файлу, указанному в ошибке и реальному пути. Важно учесть, что есть определённые указания, которые могут запутать при нахождении пути, например:
    • /./ — означает текущий каталог. По факту в пути его можно опустить, так как изменений в адресации он не несет.
    • /../ — означает родительский каталог. Достаточно часто используется в скриптах для формирования относительных путей. К примеру, путь example.com/www/include/../vendor/somefile.php фактически является путём example.com/www/vendor/somefile.php.
    • В Linux регистр имён файлов и каталогов имеет значение. Например, если скрипт попытается обратиться к файлу по имени SomeFile.php, а по факту в файловой системе файл хранится под именем somefile.php, то возникнет ошибка, что искомый файл не найден. В отличии от Windows, файлы SomeFile.php и somefile.php это два разных файла.
  • Неправильные права к искомому файлу.
    Если права, установленные для файла, не позволяют его чтение группе, то он не будет открыт другим скриптом. Для сброса прав рекомендуется воспользоваться функционалом восстановления прав по умолчанию. Для корректной работы рекомендуется использовать права 640 для файлов и 750 для каталогов.
  • hosting/php/errors/failed-opening-required.txt
  • Последние изменения: 2019/10/04 10:34
  • — karlov