I am using Symfony 2.3.1 (this problem was also present in 2.2) with session.handler.pdo , But when I add a flash bag message like this:
$ this-> Receive ('session') - & gt; GetFlashBag () - & gt; Add ('success', "Your message has been sent."); $ $ Return - ($ -> - URIRL ('Home')); Unless I refresh, after the redirect, it is not shown on the home page, then it shows. Therefore its 2 requests have to be displayed. If I change session storage back to native then this problem has ended. Why any thoughts are happening?
I use the following to print messages in Tweg
{app.session.flashbag.get ('success') for Flash message {%} { {FlashMessage}} {% endfor%} and the documentation of my services is similar to:
Services: PDO: class: PDO logic: DSN: "Mysql: dbname =% Database_Name%" user:% database_user% password:% database_password% call: - [setAttribute, [3, 2]] # \ PDO :: ATTR_ERRMODE, \ PDO :: ERRMODE_EXCEPTION Session.handler.pdo: class : Symfony \ Component \ HttpFoundation \ Session \ Storage \ Handler \ PdoSessionHandler Argument: ["@Pado",% pdo.db_options%]
I could have a race condition similar to the memcache session.
When writing Flash and Redirect sequences, it may be:
- Rental Redirection | -DB record-client saves access. Redirect url | | -DB caters to savings- Clinic refresh | In my case the solution was adding to AppKernel.php . public function handle (request $ request, $ type = HttpKernelInterface :: MASTER_REQUEST, $ catch = true) {$ response = original :: handle ($ request, dollar type, $ hold); If ($ type == HttpKernelInterface :: MASTER_REQUEST) {if ($ this-> getContainer () -> get ('session') -> Starred ()) // $ $ $ $ $ $ Save session before - & gt; GetContainer () - & gt; Mill ('session') - & gt; Save (); }} $ Reaction; }
No comments:
Post a Comment