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