teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

4

cronの追記

2020/04/01 03:03

投稿

Res
Res

スコア184

title CHANGED
File without changes
body CHANGED
@@ -22,4 +22,8 @@
22
22
  $gc=session_gc();
23
23
  // セッションID削除
24
24
  session_destroy();
25
+ ```
26
+ cronに設定しているコマンド
27
+ ```text
28
+ /usr/bin/php7.2 /home/--/--/gc.php
25
29
  ```

3

PHP処理の追記

2020/04/01 03:03

投稿

Res
Res

スコア184

title CHANGED
File without changes
body CHANGED
@@ -13,4 +13,13 @@
13
13
  session.gc_probability = 0
14
14
  session.gc_divisor = 500
15
15
  session.gc_maxlifetime = 2592000
16
+ ```
17
+
18
+ cronにより定期実行しているPHP
19
+ ```php
20
+ session_start();
21
+ // GC実行
22
+ $gc=session_gc();
23
+ // セッションID削除
24
+ session_destroy();
16
25
  ```

2

php.iniの追加

2020/04/01 03:00

投稿

Res
Res

スコア184

title CHANGED
File without changes
body CHANGED
@@ -6,4 +6,11 @@
6
6
  セッションファイルの最終更新日時以外を見ているのでしょうか。
7
7
 
8
8
  検索しても分からなかったので、分かる方がいたら、お願いいたします。
9
- ( session_gc()の削除ファイル数は常に0です )
9
+ ( session_gc()の削除ファイル数は常に0です )
10
+
11
+ php.ini
12
+ ```text
13
+ session.gc_probability = 0
14
+ session.gc_divisor = 500
15
+ session.gc_maxlifetime = 2592000
16
+ ```

1

追記

2020/04/01 02:38

投稿

Res
Res

スコア184

title CHANGED
File without changes
body CHANGED
@@ -1,8 +1,9 @@
1
1
  session_gc()をcronで毎日実行し、セッションファイルを削除しています。
2
- php.iniのsession.gc_maxlifetimeは30日にしているのですが、セッションのフォルダを見てみると、30日以上経過しているにもかかわらずGCにより削除されていませんでした。(ファイルの最終更新日)
2
+ php.iniのsession.gc_maxlifetimeは30日(2592000秒)にしているのですが、セッションのフォルダを見てみると、30日以上経過しているにもかかわらずGCにより削除されていませんでした。(ファイルの最終更新日)
3
3
 
4
4
  なので、GCの削除基準はどのようになっているのでしょうか。
5
5
 
6
6
  セッションファイルの最終更新日時以外を見ているのでしょうか。
7
7
 
8
- 検索しても分からなかったので、分かる方がいたら、お願いいたします。
8
+ 検索しても分からなかったので、分かる方がいたら、お願いいたします。
9
+ ( session_gc()の削除ファイル数は常に0です )