2016-07-08 5 views
2

У меня есть класс 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 мои вопросы таковы:

  1. Почему выполнение остановки в этот момент?
  2. Зачем это происходит с ошибкой без сообщения об ошибке журнала или возврата данных в ответ.

EDIT: дальнейшая информация: если я заполняю путь мусора, например. "/ foo/bar", тогда я получаю сообщение об ошибке Compile Error: AppBundle\Components\Factory::getDBO(): Failed opening required '/foo/bar' (include_path='.:'); поэтому, по-видимому, молчаливый сбой каким-то образом связан с тем, что - это файл по заданному пути.

+1

Вы определенно находитесь в режиме dev? В вашем приложении app.php убедитесь, что вы создаете экземпляр AppKernel следующим образом: '$ kernel = new AppKernel ('dev', true);' –

+0

, который помог мне найти много ранее проигнорированных ошибок, - но я все еще получаю ** молчание ** сбои в require_once – Black

ответ

3

require_once потерпит неудачу молча Каус, если директива, такие как:

defined('PATH_BASE') or die(); 

появляется во главе исходного файла; и требуемого определения не существует

Смежные вопросы