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, чтобы включить отображение ошибок, чтобы вы могли видеть, что вызывает ошибку..