Magento CMSなど(古いセッションをクリーンアップしない)の場合、php.ini設定に基づいてcronジョブを使用します。
PHP5 / Ubuntu 14.04 / Debian
php5のシステムcron.dセットアップでは、Magentoの./var/session(またはデフォルトのセッションフォルダー(Ubuntuの場合は/ var / lib / php5、他のほとんどのLinuxの場合は/ var / lib / php5 / sessionsまたは/ tmp /)以外はクリーンアップされませんdists)。
ただし、デフォルトのphp5 / Debianシステムcronに従って、「sessionclean」と「maxlifetime」を引き続き使用できます。
コマンドラインから試すことができる例:
# sudo /usr/lib/php5/sessionclean /var/www/{yoursite}/var/session $(/usr/lib/php5/maxlifetime)
そのため、それをシステム/ルートcrontabまたはセッションファイルの読み取り/書き込み権限を持つユーザーのcrontabに組み込むだけです。
$ sudo crontab -e
これを追加すると、システムphp cronのようになります。
20,40 * * * * [ -x /usr/lib/php5/maxlifetime ] && [ -x /usr/lib/php5/sessionclean ] && [ -d /var/www/*/var/session ] && /usr/lib/php5/sessionclean /var/www/{yoursite}/var/session $(/usr/lib/php5/maxlifetime)
または-これらのファイル/ディレクトリが存在することがわかっているため:
20,40 * * * * /usr/lib/php5/sessionclean /var/www/*/var/session $(/usr/lib/php5/maxlifetime)
現在、管理可能な量のセッションがあり、php.ini(cli)設定を介してデフォルトのガベージコレクション/ライフタイムを介してクリーンに維持されています。
(上記のワイルドカードを残すか、サイト名に置き換えることができます。)
編集(PHP7 / Ubuntu 16.xx / Debian):
「sessionclean」スクリプトが変更され、maxlifetimeスクリプトが削除されました。system / php cronジョブの場合、1つのスクリプトになりました。ファイル呼び出しはスクリプトに対して静的であるため、これを実際に使用することはできません。
システムがクリーンアップしていない場合でも、古いphp5 sessioncleanスクリプトを使用できます。できることは、古いDebian php5パッケージを取得してsessionclean
そこから抽出することです。または、これをスクリプト領域にコピーするだけで済みます(適切な/ var / www /(site)permissions / ownershipを与えます):
#!/bin/sh
# first find all used files and touch them (hope it's not massive amount of files)
[ -x /usr/bin/lsof ] && /usr/bin/lsof -w -l +d "${1}" | awk -- '{ if (NR > 1) { print $9; } }' | xargs -i touch -c {}
# find all files older then maxlifetime
find "${1}" -depth -mindepth 1 -maxdepth 1 -ignore_readdir_race -type f -cmin "+${2}" -delete
また、名前を変更することをお勧めします。そのため、新しいphp 'sessionclean' cronjobと混同しないでください。次に、独自の「maxlifetime」番号を次のようにプラグインできます。
20,40 * * * * /home/-username-/scripts/MySessionClean /var/www/*/var/session 61
(61はサンプルの経過時間(分単位)で、「MySessionClean」は上記からダウンロードまたはコピーされた名前変更されたphp5スクリプトです)。
この方法では、php.ini / env呼び出しを完全に回避します。
(2016年12月13日編集:DEBIAN ARCHIVE REPO LINKを更新)