Hatena::ブログ(Diary)

moritaの日記

2010-09-02

ubuntuではphp.iniのsession.gc_probabilityを変えてはいけない

| 23:01

session.gc_probabilityの値を書き変えると、こういうエラーが出るようになる。

PHP Notice: session_start(): ps_files_cleanup_dir: opendir(/var/lib/php5) failed: Permission denied (13) in /var/www/(以下略)

通常、PHPセッションを開始すると、一定の確率で古いセッションファイルが削除されるようになっているが、ubuntuではアクセス権がなくエラーになってしまう。

ここに説明があった。

Obscure error with PHP5 on Debian/Ubuntu

debian系(ubuntu含む)では、セッションファイルの保存ディレクトリrootでないと読めないので、cronで削除するようになっている。PHPセッションファイル削除機能は、実行する確率を0にすることで無効に設定されている。ところが、php5-cli等のパッケージを後から入れると設定が変わって削除機能が有効になってしまうことがある。

これを直すには、session.gc_probabilityの値を元通り0にすればいい。

session.gc_probability = 0

php.iniの解説ページを見て、真似して書き変えてしまいがち。ubuntuの人は気をつけて。

トラックバック - http://d.hatena.ne.jp/morita21/20100902/1283436108