web-dev-qa-db-ja.com

Apacheには多くのPHPセッションファイルがあります

# ls /var/lib/php5 | wc -l
7488

# ls -la
-rw-------  1 wwwrun www       0 Nov  9 15:30 sess_vtuh671rlafdidfjmgjfu6065p4tfieg
-rw-------  1 wwwrun www       0 Nov 12 02:30 sess_vu9pn476oiqbsd20q4s2brt60b9vg90d
-rw-------  1 wwwrun www       0 Nov  9 15:07 sess_vuonfs2cqsdiq8ja51ornh6lp5j9mf93
-rw-------  1 wwwrun www       0 Nov  9 16:02 sess_vuutcad8as55il34db3uqhqrsltd4q6o
-rw-------  1 wwwrun www       0 Nov  9 23:26 sess_vv2mrv5dnlnts6das4g5jlfldael4l0e
-rw-------  1 wwwrun www      44 Nov  9 20:35 sess_vvc0cfjuvk3lqb5m97fv6gsmv6bjhsdk
-rw-------  1 wwwrun www       0 Nov  9 10:33 sess_vvq82fhj9lg29gaejemlb2lrk25mqv7d
-rw-------  1 wwwrun www       0 Nov  9 20:36 sess_vvtd4ka8rfmcroa34unl06916ubj8sb9

それらのほとんどは空です。サーバーにはそれほど多くのユーザーがいないので、それらのファイルはどこから来たのだろうか。

これは問題ですか、それともApacheはそれらのファイルをどのように処理しますか?それらは自動的に削除されますか?

これは悪いPHPファイルが原因でしょうか?

1
PiTheNumber

これはdeaultセッションハンドラーからのものだと思います(あなたは言わなかった)。

はい、 session.gc_maxlifetime および session.gc_probability の設定に応じて、ファイルは自動的に削除されます。現在デフォルト設定を使用している場合は、デフォルト設定を増やすとファイル数が減ります。

ただし、パフォーマンス/容量の問題がない限り、心配する必要はありません。

空のファイルが非常に多いということは、サーバーがデータの管理にかなりの時間を費やしていることを意味します。パフォーマンスに問題がある場合は、空のセッションをよりスマートに処理すると役立つ場合があります。つまり、コードを再設計しますが、最初にセッション処理がどのように機能するかについてのマニュアルを読んでください。

1
symcbean