セッション情報に触りたいときだけセッションを有効にする修行
PHP では、セッションを有効にしている間はセッションファイルを排他的にロックするっぽい。それだと同一セッションに属する複数のリクエストがパラに走らない。
ので、セッション情報にアクセスするときだけセッションを有効にできるか、やってみた。
まずは書込み側。
<?php session_start(); $_SESSION['a'] = 1; session_write_close(); $_SESSION['b'] = 2; session_start(); // again $_SESSION['c'] = 3; session_write_close(); // end of file
で、読込み側。
<?php session_start(); var_dump($_SESSION); // end of file
結果は、
array(2) { ["a"]=> int(1) ["c"]=> int(3) }
期待したとおりの結果が得られた。
今までは、session_start() は前処理として認識して使っていたけれど、$_SESSION にアクセスする直前に毎回 session_start() してもいいかな。オーバヘッドがそんなに大きくなければ、だろうけれど。