2016-12-25 16 views
0

新しいセッションIDは、session_start()呼び出しごとにセッションフォルダに作成されますが、次のページにはロードされません。"session_start()"は新しいセッションIDを生成します。

私はそれをチェックするために使用されるコード:

(何コードが存在しないと全く空白が前に存在しない「(のsession_start)」、これは最上部に直接ある)

<?php 
session_start(); 

var_dump($_SESSION); 
echo boolStr(is_writable(session_save_path())) . " and "; 
echo boolStr(is_readable(session_save_path())) . "<br>"; 

if (!isset($_SESSION['counter'])){ 
    $_SESSION['counter']=0; 
} 

echo "Refreshed: ". $_SESSION['counter'] ." times.<br> 
$_SESSION['counter']++; 

<a href=".$_SERVER['PHP_SELF'].'?'.session_name().'='.session_id().">refresh!</a>"; 


function boolStr($val) 
    { 
     return $val ? 'true' : 'false'; 
    } 
?> 

カウンタ変数は "$ _SESSION ['counter'] ++;"リフレッシュされたページをロードした後に再び0になり、アドレスバーでセッションIDが変更されます。

出力:

D:\wamp64\www\sessions.php:4: 
array (size=0) 
    empty 

true and true 
Refreshed 0 times. 
refresh 

のphp.ini:

session.save_handler = files 
session.save_path ="D:/wamp64/tmp" 
session.use_strict_mode = 0 
session.use_cookies = 1 
session.use_only_cookies = 1 
session.name = PHPSESSID 
session.auto_start = 0 
session.cookie_lifetime = 0 
session.cookie_path =/
session.cookie_domain =/
session.cookie_httponly = 1 
session.cookie_secure = 0 
session.serialize_handler = php 
session.gc_probability = 1 
session.gc_divisor = 1000 
session.gc_maxlifetime = 1440 
session.referer_check = 
session.entropy_length = 32 
session.entropy_file = /dev/urandom 
session.cache_limiter = nocache 
session.cache_expire = 180 
session.use_trans_sid = 0 
session.hash_function = sha256 
session.hash_bits_per_character = 5 

セッションは、先月の罰金働いていたが、私は、ブラウザを閉じたときに(私はほとんどないPCやシャットダウンを休止状態) 、問題が現れました。 Firefoxの代わりにChromeで試してみたのと同じ問題があったので、ブラウザとの接続は実際にはわかりません。

session_start()がセッションCookieをロードしようとしたときにどうなるのかを知るにはどうすればよいですか? session_start()の動作を見れば、何が起きているのか分かります。

ありがとうございました。

+0

'error_reporting(E_ALL);を実行しているときに何を返しますか? – Kray

+0

私はそれが間違っていたかどうか分かりませんので、session_start()の下に1回、その上に1回配置し、両方のエラーが発生しませんでした。 – Ibos

+0

echoステートメントの上の$ _SESSION ['counter'] ++を変数に移動してみてください。次に例を示します。$ session_counter = $ _SESSION ['counter'] ++; –

答えて

0

結果が分からないうちにXAMPPをインストールして使用しても問題ないと思ったので、問題はWAMPサーバーから出てきているはずです。

関連する問題