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 для каталогів.
Зміст