1

PHP セッション データは 1 回だけ保存され、更新できません。

セッションは保存されていますが、セッション データを更新する方法がありません:

次のコード例を検討してください。

<?php

session_start();


header("Cache-control: private");


   $_SESSION['counter']++;

   echo $_SESSION['counter'];

   session_write_close();

?>

最初に呼び出されたときに、正しいデータを含むセッション ファイル C:\Window\Temp\sess_fs3r6tfmoc2tpv9ggnv8542ib2 が生成さ counter|i:1; れ、同じデータを含む session_cookie も設定されます。sessionID:fs3r6tfmoc2tpv9ggnv8542ib2

再度実行するとカウンターが増えません!ファイル \Temp\sess_fs3r6tfmoc2tpv9ggnv8542ib2 が更新されていません。ただし、セッションIDは正しいです。

助けてください、それは私には設定に関する問題のようです。

I Use: 
PHP Version 5.3.10
Windows 7
Microsoft-IIS/7.5
with Zend Extension     220090626 

Session Setting were all default:
Session Support     enabled
Registered save handlers     files user
Registered serializer handlers     php php_binary wddx

Directive    Local Value    Master Value
session.auto_start    Off    Off
session.bug_compat_42    Off    Off
session.bug_compat_warn    Off    Off
session.cache_expire    180    180
session.cache_limiter    nocache    nocache
session.cookie_domain    no value    no value
session.cookie_httponly    Off    Off
session.cookie_lifetime    0    0
session.cookie_path    /    /
session.cookie_secure    Off    Off
session.entropy_file    no value    no value
session.entropy_length    0    0
session.gc_divisor    1000    1000
session.gc_maxlifetime    1440    1440
session.gc_probability    1    1
session.hash_bits_per_character    5    5
session.hash_function    0    0
session.name    PHPSESSID    PHPSESSID
session.referer_check    no value    no value
session.save_handler    files    files
session.save_path    C:\Windows\Temp    C:\Windows\Temp
session.serialize_handler    php    php
session.use_cookies    On    On
session.use_only_cookies    On    On
session.use_trans_sid    0    0
4

1 に答える 1

2

session_write_close() @ http://www.php.net/manual/en/function.session-write-close.php#107945に関する最初のユーザー コメント

「Ajax ページから PHP スクリプトを呼び出すときは、session_write_close に注意してください。これは、セッション データの書き込みを「ファイナライズ」しませんが、実際にはリセットします!」

その行を削除するだけです;)

于 2012-04-05T12:37:42.253 に答える