PHP のセッション ファイルが多すぎる問題について
PHP のデフォルトのメカニズム: すべての PHP リクエストに対して、1/100 の確率 (デフォルト値) で「セッションのリサイクル」がトリガーされます。 「セッションのリサイクル」が発生した場合、/tmp/sess_* ファイルがチェックされ、最終変更時間が 1440 秒 (gc_maxlifetime の値) を超えた場合、ファイルは削除されます。これは、これらのセッションが期限切れになったことを意味します。 >1. セッション ファイルとは何ですか?
username|s:9:"test";admin|s:1:"0";
#概率是gc_probability/gc_divisorsession.gc_probability = 1session.gc_divisor = 100
/etc/php5/fpm/php.ini
session.save_path = 3;600:/tmp/sessions
#!/bin/shfind /tmp/php-session -cmin +24 -name "sess_*" -and -size 0 -delete > /dev/null 2>&1find /tmp/php-session -cmin +1440 -name "sess_*" -delete > /dev/null 2>&1
その他のメソッド
Cookie を使用しますが、Cookie は暗号化する必要があります
5. tmfs を使用して保存します。 session
mount -a
#!/bin/shdir="0 1 2 3 4 5 6 7 8 9 a b c d e f"for levela in $dir;do for levelb in $dir; do for levelc in $dir; do mkdir -p /tmp/sessions/$levela/$levelb/$levelc; done done;donechown -R root:webgrp /tmp/sessions && chmod -R 1777 /tmp/sessions
php 自体はセッション列のマルチレベル分散をサポートしており、php.ini で session.save_path = /tmp を
session.save_path = "3;/tmp/sessions