2

Symfony2 で奇妙なエラーが発生します。

ある非常に特殊な状況で、コントローラーがアクションを実行してテンプレートをレンダリングしますが、それを実行した後、アプリケーションへのリクエストはすべて ERR_EMPTY_RESPONSE エラーを返します。

エラーメッセージが全く出ないので、デバッガーを使ってどこで失敗するか探してみました。

アプリケーションが実行するステップのリストは次のとおりです。

web/app_dev.php

$response = $kernel->handle($request);

アプリ/bootstrap.php.cache:2250

return $kernel->handle($request, $type, $catch);

アプリ/bootstrap.php.cache:2948

$response = parent::handle($request, $type, $catch);

アプリ/bootstrap.php.cache:2819

$this->handleRaw($request, $type); を返します。

アプリ/bootstrap.php.cache:2834

$this->dispatcher->dispatch(KernelEvents::REQUEST, $event);

アプリ/キャッシュ/dev/classes.php:1764

親を返します::dispatch($eventName, $event);

アプリ/キャッシュ/dev/classes.php:1600

$this->doDispatch($this->getListeners($eventName), $eventName, $event);

アプリ/キャッシュ/dev/classes.php:1667

call_user_func($listener, $event);

アプリ/キャッシュ/dev/classes.php:2352

$listener->handle($event);

Symfony\Component\Security\Http\Firewall\ContextListener.php:90

$token = $this->refreshUser($token);

Symfony\Component\Security\Http\Firewall\ContextListener.php:165

$トークンを返します。

この行に到達すると、実行が停止します。これはアプリケーションによってスローされる例外ではないため、PHP または Apache のエラーと考えることができます。
その時点から、Symfony のキャッシュをクリアするまで、アプリケーションは使用できなくなります。その後、アプリケーションは再び動作します。同じアクションをもう一度呼び出すと、エラーが再発します。
これは、フレームワークがエラーに対して何らかの責任を負っていることを示しているようです。実行された最後の行がそれに関連しているため、ユーザー認証に関連している可能性があります。

問題に深く入り込む方法がわかりません。

なにか提案を?

ありがとう。

バージョン:
Symfony: 2.3.6
PHP: 5.4.9-4ubuntu2.3
Apache: Apache/2.2.22 (Ubuntu)

4

0 に答える 0