Php symfony 3应用程序在DebugClassLoader中以静默方式要求_一次失败
我有一个PHP类,名为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 ($
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)
帮助我找到了许多以前被忽略的错误,但我仍然会一次性遇到无声的失败