現在炎上プロジェクト中です
他の環境でテストしてー、さて、大丈夫!と思って、全部ファイルをコピーしたところ、ログインできなくなってしまいました。
他の人がテスト中でどうしよどうしよ!って感じになっていましたが、ちょうどサイトのバックアップを取っていたおかげでdiffを取って戻すことができました。
それで今回の原因ですが、2台構成のサーバーでセッションが引き継がれなかったのが原因のようでした。
Apacheが原因ですか
しかし、PHP側のセッションはちゃんと2台で共有できるようにmemcachedの設定を入れていたはず・・・と思って、phpinfoを見てみましたら、確かにMasterValueには意図した値が入っていました。
が、LocalValueはfileに上書きされていました。
htaccessでは上書きしていない(はず)なので、Apacheの設定を確認したところ、php.confにこんな記述が・・・。
php_value session.save_handler "files"
Apache、お前だったのか!
しかも、コメントにはVirtualHostで設定してね。とか書いてあるし・・・。
わざわざphp.iniで設定したのにそれを潰すなんて。
というわけで、php.iniに入れた設定をもう一度vhosts.confに入れ直すことに・・・。
というわけで、書き換えたし、大丈夫だろうと思ってアクセスしたら。
session_start(): Write of lock failed
というエラーが出たので、慌ててぐーぐる先生に聞いてみました。
すると、こちらに
[Memcached] session save handler に memcached を利用する | くものす
というありがたいお言葉が書いてありましたので、早速修正してみました。
すると・・・。
きたー、きましたわー。
無事に表示されるようになりました。
しかも、ログインも問題なくなりました。