0

共有ホスティング パッケージから専用のクラウド サーバーに移動したばかりで、ページ間でセッション変数が正常に渡される完全に機能する Web サイトを新しい専用サーバーにアップロードしたところ、突然セッション変数がすべて失われました。なぜこれが起こっているのか、誰かが光を当てることができますか?

必要に応じて、ページからさらにコードを提供できますが、これで十分だと思います。

また、ページに変数を設定して同じページに表示しようとしましたが、それは機能しましたが、その値が同じページにあったため、セッションに保存されていたとしてもそうではありません。

PHP のバージョンが 5.2.17 (共有) から 5.3.3 (専用) に変更されたことは知っていますが、これらの異なる PHP バージョンを使用してローカル マシンでこれをテストしましたが、セッション変数に問題はありません。これが私の 2 つのページです。

page1.php

<?php


session_start(); 

if (!isset($_SESSION['initiated']))
{
session_regenerate_id();
$_SESSION['initiated'] = true;
}


include_once "header_selector.php";

$_SESSION['duper'] = "Active sessions variable";

page2.php

<?php

ob_start();

session_start(); 

include_once "header_selector.php";

$duper = $_SESSION['duper'];
echo "Model: " . $duper;
4

1 に答える 1

0

1)$_SESSIONストアは書き込み可能ではない可能性があります。

2)対応するob_end_flush()なしでob_start()を呼び出しています。ホストとPHPバージョンを移動したときにphp.iniファイルを変更した可能性があり、設定でそれを台無しにする可能性があります。

3)header_selector.phpでob_end_flush()を呼び出していませんか?

于 2013-02-28T17:57:36.567 に答える