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

回答編集履歴

2

警告を追記

2019/02/22 10:36

投稿

FKM
FKM

スコア3662

answer CHANGED
@@ -7,4 +7,11 @@
7
7
 
8
8
  だとすると変数$lifetimeに入っている判定値がfalseである(機能していない)可能性が高いです。
9
9
 
10
- setCookie()変数から送られてきた値がちゃんと入っているか確認してみてください。
10
+ setCookie()変数から送られてきた値がちゃんと入っているか確認してみてください。
11
+
12
+ 追記:公式のフォーラムに海外の人が、これは使えないと警告していますので、代替方法を載せておきます。
13
+ ```PHP
14
+ $lifetime=600;
15
+ session_start();
16
+ setcookie(session_name(),session_id(),time()+$lifetime);
17
+ ```

1

説明の補足

2019/02/22 10:36

投稿

FKM
FKM

スコア3662

answer CHANGED
@@ -1,2 +1,10 @@
1
1
  公式ページによると、挙動が変わっているようですが、これと関係ありますか?
2
- [session_set_cookie_params](http://php.net/manual/ja/function.session-set-cookie-params.php)
2
+ [session_set_cookie_params](http://php.net/manual/ja/function.session-set-cookie-params.php)
3
+
4
+ - 7.1以前は引数がfalseの場合はvoidを返した(voidというのは引数も含め何も処理しない、つまり**なかったことにする**って処理です)
5
+
6
+ - 7.2以後はきちんと判定するようになった。
7
+
8
+ だとすると変数$lifetimeに入っている判定値がfalseである(機能していない)可能性が高いです。
9
+
10
+ setCookie()変数から送られてきた値がちゃんと入っているか確認してみてください。