У меня есть приложение PHP, которое я пытаюсь включить, но оно вызывает проблемы, потому что я пытаюсь включить его файлы из подкаталога.Например, вот структура каталогов (более или менее), с которой я пытаюсь работать:
/site
/scripts
/local
some_script.php
lib_file_a.php
lib_file_b.php
lib_load.php
lib_load.php
имеет команду include
для файлов lib_file_a.php
и lib_file_b.php
(относительный путь)).
Я хочу добавить lib_load.php
из some_script.php
, но есть проблема с тем, как я включаю lib_load.php
.Сначала я попытался require('../../../lib_load.php');
.
. Как и следовало ожидать, я увидел ошибку: «Не удалось открыть файл« C: \ xampp \ htdocs \ site \ scripts \ local \ lib_file_a.php »».Как видите, PHP пытается включить файл, который не существует.Я нашел сообщение о переполнении стека, в котором говорилось об использовании абсолютного пути (ссылка) , но это не помогло.Затем я попробовал этот код:
require(realpath(dirname(__FILE__) . '../../../' . 'lib_load.php'));
Однако в этот раз возвращается та же ошибка.Что я делаю не так?
РЕДАКТИРОВАТЬ: я понял, что проблема на самом деле была в загрузчике библиотеки, который, как оказалось, включал файлы, основанные на абсолютном пути, а не относительном пути.(Я должен был прочитать более внимательно.) Я решил проблему, изменив путь, используемый библиотекой.Этот вопрос должен быть закрыт, если мод видит этот запрос.