PHP include_once не работает без предупреждения или ошибки для существующего файла

Получил ошибку, которая поставила меня в тупик. Пытаюсь реализовать пользовательский загрузчик классов в php. Нахожусь на версии 5.6.11. Проблема в том, что я динамически создаю путь к файлу, а затем выполняю "include_once" по этому пути. PHP просто завершает выполнение в этот момент без предупреждений или сообщений об ошибках. Путь действителен. Код в основном так

require_once "lib/includes/web/classloader/default.php";
require_once "lib/includes/web/controller/default.php";
$classloader = new web\classloaders\ClassLoader();
$controller_path = $classloader->registerController();
if($controller_path != null){
    require_once("$controller_path");
}

Проверки file_exists и is_readable выполняются в функции registerController() загрузчика классов.

Я также попробовал это:

require_once $controller_path;

и это:

require_once($controller_path);

Есть идеи?

С уважением

1 ответ

С синтаксисом проблем нет, как я тестировал с кодом. Проблема должна быть на пути. Попробуйте использовать echo $controller_path; die(); перед использованием require_once, чтобы увидеть путь.

ИЛИ ЖЕ

Вы можете вставить

error_reporting(E_ALL); ini_set("display_errors", 1);

в начале страницы PHP, чтобы включить отображение ошибок, чтобы вы могли видеть, что вызывает ошибку..

Другие вопросы по тегам