Symfony 2.6:仅在未设置xdebug cookie时加载Web调试工具栏时出错

时间:2015-03-03 20:47:08

标签: symfony

每当我使用xdebug cookie设置在我的网站上运行页面时,我看到web调试工具栏就好了。但是,如果我在浏览器中禁用该cookie并尝试运行同一页面,则会出现以下错误:

An error occurred while loading the web debug toolbar (404: Not Found)

如何在没有xdebug的情况下使用Web调试工具栏?


更新:这是我的app_dev.php文件。这适用于其他服务器,但出于某种原因不适用于此服务器:

if (isset($_SERVER['HTTP_CLIENT_IP'])
    || isset($_SERVER['HTTP_X_FORWARDED_FOR'])
    || !in_array(@$_SERVER['REMOTE_ADDR'], array('127.0.0.1', 'fe80::1', '::1', '74.80.8.75', '192.168.56.1'))
) {
    header('HTTP/1.0 403 Forbidden');
    exit('You are not allowed to access this file. Check ' . basename(__FILE__) . ' for more information.' . $_SERVER['REMOTE_ADDR']);
}

if (!isset($_COOKIE['XDEBUG_SESSION'])) {
    $loader = require_once __DIR__ . '/../app/bootstrap.php.cache';
} else {
    $loader = require_once __DIR__ . '/../app/autoload.php';
}
Debug::enable();

require_once __DIR__ . '/../app/AppKernel.php';

$kernel = new AppKernel('dev', true);
if (!isset($_COOKIE['XDEBUG_SESSION'])) {
    $kernel->loadClassCache();
}
$request = Request::createFromGlobals();
$response = $kernel->handle($request);
$response->send();
$kernel->terminate($request, $response);

EDIT2:

在主页路由上有和没有cookie的情况下它实际上工作正常。但是,如果我使用不同的路由,例如app_dev.php / my-route /,那么它只适用于XDEBUG cookie集。

1 个答案:

答案 0 :(得分:1)

事实证明这是由PHP内存不足引起的。增加memory_limit会修复它。