У меня есть класс PHP под названием FilterInput
. Когда мое приложение на основе Symfony (3.0.3) вызывает статическую функцию-член от FilterInput
, делается неявный вызов для DebugClassLoader
Symfony. Метод называется loadClass
и он начинает так:Symfony 3 приложение терпит неудачу в require_once в DebugClassLoader
public function loadClass($class)
{
ErrorHandler::stackErrors();
try {
if ($this->isFinder) {
if ($file = $this->classLoader[0]->findFile($class)) {
require_once $file;
}
} else {
call_user_func($this->classLoader, $class);
$file = false;
}
} finally {
ErrorHandler::unstackErrors();
}
...
вопрос я наблюдая, что, когда исполнение достигает include_once
директивы, приложение не может молча. То есть, HTTP-запрос возвращает пустой, и в dev.log
или в моих журналах apache нет. Я проверил, что переменная $file
содержит полный и правильный /path/to/FilterInput.php
. Я также проверил, что этот файл доступен для чтения. So мои вопросы таковы:
- Почему выполнение остановки в этот момент?
- Зачем это происходит с ошибкой без сообщения об ошибке журнала или возврата данных в ответ.
EDIT: дальнейшая информация: если я заполняю путь мусора, например. "/ foo/bar", тогда я получаю сообщение об ошибке Compile Error: AppBundle\Components\Factory::getDBO(): Failed opening required '/foo/bar' (include_path='.:')
; поэтому, по-видимому, молчаливый сбой каким-то образом связан с тем, что - это файл по заданному пути.
Вы определенно находитесь в режиме dev? В вашем приложении app.php убедитесь, что вы создаете экземпляр AppKernel следующим образом: '$ kernel = new AppKernel ('dev', true);' –
, который помог мне найти много ранее проигнорированных ошибок, - но я все еще получаю ** молчание ** сбои в require_once – Black