概要: PHP Symfony 1.4.8で開発されたアプリケーションは、symfonyセッション値をランダムに失いますが、特定の本番環境でのみ失われます。ユーザー認証後、数秒または数分以内に配列 symfony / user / sfUser/attributesが空になります。開発マシンやその他の実稼働環境では問題は発生しません。
問題が障害のあるサーバーに固有のものであることは明らかなようですが、障害のあるサーバーで問題を解決できるPHP / Apache / Symfonyの構成が欠落している可能性があるのではないかと思いますか?
障害のあるサーバーPHP情報:
- PHPバージョン5.3.10
- システムSunOS5.10
- Apache / 1.3.41(Unix)PHP / 5.3.10 mod_ssl / 2.8.31 OpenSSL / 0.9.8p
- 子あたりの最大リクエスト数:0-存続中:オン-接続あたりの最大数:100
- タイムアウト接続:300-キープアライブ:15
- セッションサポート:有効
- 登録された保存ハンドラー:ファイルユーザーsqlite
- 登録されたシリアライザーハンドラー: php php_binary
- session.cache_expire:180
- session.cache_limiter: nocache
- session.cookie_lifetime:0
- session.gc_divisor: 100
- session.gc_maxlifetime: 1440
- session.gc_probability:1
- session.use_cookies:オン
- session.use_only_cookies:オン
作業サーバーのPHP情報:
- PHPバージョン5.2.17
- システムLinux2.6.32.59-sg2#3 SMP
- Apache / 1.3.42(Unix)mod_gzip / 1.3.26.1 mod_auth_passthrough / 1.8 mod_log_bytes / 1.2 mod_bwlimited / 1.4 FrontPage / 5.0.2.2635 mod_ssl / 2.8.31 OpenSSL / 0.9.8e-fips-rhel5
- セッションサポート:有効
- 登録された保存ハンドラー:ファイルユーザーsqlite memcache
- 登録されたシリアライザーハンドラー: php php_binary wddx
- session.cache_expire:180
- session.cache_limiter: nocache
- session.cookie_lifetime:0
- session.gc_divisor: 1000
- session.gc_maxlifetime: 1440
- session.gc_probability:1
- session.use_cookies:オン
- session.use_only_cookies:オフ
すべての環境での両方のサーバーのsymfonyセッション設定:
storage:
class: sfSessionStorage
param:
session_name: webapp
user:
class: myUser
param:
timeout: 7200
私はすでにこの同様の問題をチェックしました。Symfony1.4セッションはランダムに失われましたが、sfMemcacheCacheクラスを使用していません。
この質問に答えるために追加情報が必要な場合はお知らせください。