今回もEthnaについて。。。
セッションではまったことが少し前にあったので紹介します。
携帯サイトでセッションを使うときはcookieがないのでセッションIDを引き継ぐという多少面倒なことをしないといけません。
普通なら.htaccessとかに「session.use_trans_sid」を1に、「session.use_cookies」を0に設定して下記のように書き換えると自動でセッションIDを引き継ぐはずでした。
Ethnaでもこれがしたいのでいろいろ調べて、この設定とlibディレクトリあたりにMobileSession.php見たいなのを作り
class MobileSession extends Ethna_Session
{
function _validateRemoteAddr($src_ip, $dst_ip)
{
return true;
}
}
と書いて[App_ID]_controller.phpの$classのsessionの部分をMobileSessionと書き換えれば問題ないと思っていました。
しかし引き継がない・・・何なんだこれはと悩む。いろいろしてみるが何も解決しない
もしかしてwindowsか?などと勝手にOSに責任をなすりつけLinuxにしてみる→症状変わらない・・・orz
ということでみなさんの知恵を借りようとEthnaのメーリングリストで質問→間違ってなさそう・・・。
PHPのバージョンをあげてみるかと4.3.9から4.4.4にバージョンアップしてみたすると引き継ぐ!!
ちなみに4.3.11でも引き継がなかった。(4.3.xはだめなのか?)
未だに原因はわからないが(知ろうともしないところもありますが)とりあえず喜ぶ。
しかしもう4は古いかなと思い今は5.2.1で作っています。