Agavi で session.use_trans_sid を使う
php.ini, ini_set() など php の設定で session.use_trans_sid を On にしたところ、若干気持ち悪いことになった。
Agavi の Routing::gen() は、URLクエリパラメータのセパレータに & を使うのだけど(こっちが正式っぽい)、session.use_trans_sid は & を使うので、セパレータとして "&" と "&" が混在してしまう。
例えば、こんな感じ。
<a href="/index.php/?var1=val1&var2=val2&sess_id=xxxxxxxxxx">hoge</a>
で、うーむと思って見てみると、AgaviWebRouting のコンストラクタの中で、
$this->defaultGenOptions = array_merge($this->defaultGenOptions, array( 'separator' => '&', 'use_trans_sid' => false, 'scheme' => null, 'authority' => null, 'host' => null, 'port' => null, 'fragment' => null, ));
となっていたので、上記の use_trans_sid を true にすればよいだけだったみたい。結局、session.use_trans_sid を変える必要もなかった。なんでいちいちソースを見なきゃならないんだ…。