PHPフレームワークEthna -セッションIDの引継ぎ-


今回も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で作っています。

eight-tree