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