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