Barmar が指摘したように、このタスクには cronjob を追加する必要があります。簡単な php スクリプトを作成し、次のようにして crontab に追加できます。
1 0 * * * php -f /path/to/file/clean.php
これは、php ファイルが毎日午前 0 時に実行されることを意味します。
いくつかのメモ:
- ファイルは Web フォルダにあってはなりません
- いくつかのテストを行い、電子メールでエラーを報告することをお勧めします (db に接続できないなど)。
- これらをさらに構築する場合は、サーバーを切り替える場合 (またはサーバーが停止する場合) に備えて、それらのリストをどこかに保管しておく必要があります。
- 構成ファイルを使用する場合 (例: db 接続の詳細を保存するため)、cronjob が動作するユーザーがアクセスできることを確認する必要があります。
ほとんどのホスティング プラットフォームでは、crontab の編集が可能であり、Web サーバーを実行しているのと同じユーザーで実行できるため、問題にはなりません。
これには、cron ジョブを作成する以外に良い解決策はありません。これはもちろん、データベースからデータを取得するたびにタイムスタンプを確認しない場合です。有効期限データよりも大きい場合は削除できます (DELETE FROM my_table WHERE timestamp>[Expiry Timestamp] )。カウントを試行するたびにタイムスタンプを含める必要があり、期限切れのリソースがデータベースから要求されない場合、すべてを永久に保存するリスクがあるため、これはもちろん危険です。