時事自考

時事ネタを中心に個人的な考察を上げていきます。

【プログラミング】CakePHPでログインできなくなった件

現在炎上プロジェクト中です

他の環境でテストしてー、さて、大丈夫!と思って、全部ファイルをコピーしたところ、ログインできなくなってしまいました。

他の人がテスト中でどうしよどうしよ!って感じになっていましたが、ちょうどサイトのバックアップを取っていたおかげでdiffを取って戻すことができました。

それで今回の原因ですが、2台構成のサーバーでセッションが引き継がれなかったのが原因のようでした。

Apacheが原因ですか 

しかし、PHP側のセッションはちゃんと2台で共有できるようにmemcachedの設定を入れていたはず・・・と思って、phpinfoを見てみましたら、確かにMasterValueには意図した値が入っていました。

が、LocalValueはfileに上書きされていました。

htaccessでは上書きしていない(はず)なので、Apacheの設定を確認したところ、php.confにこんな記述が・・・。

php_value session.save_handler "files"

php_value session.save_path    "/var/lib/php/5.6/session"

Apache、お前だったのか!

しかも、コメントにはVirtualHostで設定してね。とか書いてあるし・・・。

わざわざphp.iniで設定したのにそれを潰すなんて。

というわけで、php.iniに入れた設定をもう一度vhosts.confに入れ直すことに・・・。

というわけで、書き換えたし、大丈夫だろうと思ってアクセスしたら。

 session_start(): Write of lock failed

 というエラーが出たので、慌ててぐーぐる先生に聞いてみました。

すると、こちらに

[Memcached] session save handler に memcached を利用する | くものす

memcachedtcp://をつけたらダメやで! 

 というありがたいお言葉が書いてありましたので、早速修正してみました。

 

すると・・・。

 

きたー、きましたわー。

無事に表示されるようになりました。

しかも、ログインも問題なくなりました。