session.handler.pdo を使用して Symfony 2.3.1 (この問題は 2.2 にもありました) を使用していますが、フラッシュ バッグ メッセージを次のように追加すると、次のようになります。
$this->get('session')->getFlashBag()->add(
'success', "Your message has been sent."
);
return $this->redirect($this->generateUrl('home'));
リダイレクト後、更新を押すまでホームページに表示されず、表示されます。したがって、表示されるには2つのリクエストが必要です。セッション ストレージをネイティブに戻すと、この問題はなくなります。なぜこれが起こっているのですか?
以下を使用して、Twig でメッセージを出力します
{% for flashMessage in app.session.flashbag.get('success') %}
{{flashMessage}}
{% endfor %}
私のサービスは、次のドキュメントと同じです。
services:
pdo:
class: PDO
arguments:
dsn: "mysql:dbname=%database_name%"
user: %database_user%
password: %database_password%
calls:
- [setAttribute, [3, 2]] # \PDO::ATTR_ERRMODE, \PDO::ERRMODE_EXCEPTION
session.handler.pdo:
class: Symfony\Component\HttpFoundation\Session\Storage\Handler\PdoSessionHandler
arguments: ["@pdo", %pdo.db_options%]