Php symfony 3应用程序在DebugClassLoader中以静默方式要求_一次失败

Php symfony 3应用程序在DebugClassLoader中以静默方式要求_一次失败,php,symfony,Php,Symfony,我有一个PHP类,名为FilterInput。当基于Symfony(3.0.3)的应用程序调用FilterInput的静态成员函数时,会隐式调用Symfony的DebugClassLoader。该方法称为loadClass,其开头如下: public function loadClass($class) { ErrorHandler::stackErrors(); try { if ($this->isFinder) { if ($

我有一个PHP类,名为
FilterInput
。当基于Symfony(3.0.3)的应用程序调用
FilterInput
的静态成员函数时,会隐式调用Symfony的
DebugClassLoader
。该方法称为
loadClass
,其开头如下:

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\u once
指令时,应用程序会无声地失败。也就是说,http请求返回空,并且在
dev.log
或我的apache日志中没有输出。我已经验证了
$file
变量包含完整且正确的
/path/to/FilterInput.php
。我还验证了这个文件是可读的。因此,我的问题是:

  • 为什么执行在这一点上停止
  • 为什么它在没有日志错误消息或响应中返回数据的情况下以静默方式失败

  • 编辑:进一步信息:如果我填写了一个垃圾路径,例如“/foo/bar”,那么我确实会收到一条错误消息
    Compile error:AppBundle\Components\Factory::getDBO():无法打开所需的'/foo/bar'(include_path='.:')
    ;因此,假定静默故障某种程度上与以下事实有关:在给定路径上有一个文件。

    require\u一次
    将静默故障,例如:

    defined('PATH_BASE') or die();
    

    显示在源文件的头部;而且所需的定义不存在

    您确定处于开发模式吗?在app.php中,请确保像这样实例化AppKernel:
    $kernel=newAppKernel('dev',true)
    帮助我找到了许多以前被忽略的错误,但我仍然会一次性遇到无声的失败