php APCが原因でセッションを保存できないバグとその解決策
APCはい php スクリプトの高速化効果は明らかであり、基本的には を使用できます。 php-fpm サーバーの負荷容量がに増加しました 2 回かかるため、運用環境ではできるだけ を使用する必要があります APC さあ、スピードアップしてください php スクリプト。
?
これは web?bench を通過したものです ストレス テストから得られた結論は、運用環境では を使用します。 APC その後、スクリプトの実行速度は確かに向上しました (10-20%に達する可能性があります) )
?
本番環境で使用されます
session_set_save_handler
はします
セッションはに保存されます
MySQL
メモリテーブルとインストール済み
APC
拡張したところ、保存できないことがわかりました
セッション
、調査を重ねた結果、それは のためでした
APC
が原因、インターネットで見つかった理由の分析:
?
?
——実際には、データベース クラスのインスタンスが破棄されており、目に見えないエラーが発生しています。
?
?
これに対する解決策は非常に簡単です:
php
プログラムは最後に実行され、手動で呼び出されます
session_write_close();
?
または register_shutdown_function 定義した関数から呼び出すこともできます。
?
ただし、php を使用する場合 デフォルトのファイルストレージ セッション メカニズムでは、この問題は存在しません。
?
?
?
?