← |
2024年11月 |
→ |
日 |
月 |
火 |
水 |
木 |
金 |
土 |
|
|
|
|
|
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
|
26 |
27 |
28 |
29 |
30 |
|
まず、次のPHPをサーバーに置きます。 test0.php------------------------------ <?PHP session_start(); ?><br> <a href="test1.php">test1へ</a> --------------------------------------- test1.php------------------------------ <?PHP session_start(); $_SESSION['hoge']='hoge'; echo $_SESSION['hoge']; ?><br> <a href="test2.php">test2へ</a> --------------------------------------- test2.php------------------------------ <?PHP session_start(); echo $_SESSION['hoge']; ?><br> <a href="test2.php">再度test2へ</a> ---------------------------------------
おもむろに、test0.phpを実行して、次に、画面のリンクでtest1.phpを実行しましょう。
その後、セッションがタイムアウトする時間待って、画面のリンクでtest2.phpを実行しましょう。
当然、セッションが切れているのだから、画面には何も表示されない・・・ことを期待するが、実際には、画面には「hoge」が表示される。
えー と思いつつ、再度、画面のリンクでtest2.phpを実行しましょう。画面には何も表示されません。
ちなみに、php.ini等の設定でGCの始まる確率は100%にしてあります。
また一つ、PHPが嫌いになった・・・
※注 test0.phpを最初に実行するのは、test1.phpでGCによってセッションファイルが消えないようにするためです。 セッションファイルに直接アクセスできるのであれば、test0.phpを実行する代わりに、ファイルを直接削除することで同じ効果が得られます。 なお、セッションがタイムアウトしてから、test2.phpを実行するまでの間に、他のPHPスクリプトが実行されたら、当然そちらでGCが実行されるので結果は異なります。 なお、実験はPHP4.3.11/4.2等4.x系のいくつかのバージョンで試しました・・・orz
--- 2006-09-09:修正。詳細はコメント欄orz |
00:01, Thursday, Aug 03, 2006 ¦ 固定リンク
¦ 携帯
■コメント
ぬはは。お疲れ様。 ところで、 > なお、実験はPHP4.9.11/4.2等4.x系 PHP 4.9.11は、いつリリースされたのだ? |
名前: も ¦ 17:02, Thursday, Sep 07, 2006 ×
>> なお、実験はPHP4.9.11/4.2等4.x系 >PHP 4.9.11は、いつリリースされたのだ? うわっ・・・なんつーTYPOをorz 4.3.11の間違いっすね。
指摘有り難う御座います。_| ̄|○ |
名前: NiSi@管理人 ¦ 19:18, Saturday, Sep 09, 2006 ×
■コメントを書く
※コメントの受け付けは終了しました
|
|