0

インターネットで 1 日広範囲に調査した後でも、これを理解することはできません。何が起こっているかというと、Cookie の PHPSESSID がページ間で保持されていないということです。

これは、特定の場所で 1 つのインターネット接続の下にあるコンピューターで発生しています。他の場所にある他のいくつかのマシンをテストしましたが、すべて正常に動作します。session_start を確認しましたが、サブドメインに問題はありません。

誰かが私を助けてくれることを願っています。

4

4 に答える 4

2

確認事項:

  1. それらのコンピュータで時間 (およびタイムゾーン!) が正しく設定されていますか? 正しく設定されていない場合、セッション Cookie が時期尚早に (場合によってはすぐに) 破棄される可能性があります。

  2. コンピュータに奇妙なセキュリティまたは「プライバシー」ソフトウェアがインストールされていませんか? 可能であれば、それらのマシンの別のブラウザで問題が解決しないかどうかを確認してください。

  3. これらのコンピュータは、何らかの Web プロキシの背後にありますか? もしそうなら、それはクッキーに干渉している可能性があります.

于 2013-07-17T19:51:29.790 に答える
0

Cookie ベースのセッションを使用するには、ブラウザーに何かを出力する前に session_start() を呼び出す必要があります。- PHP ドキュメント

また、セッション Cookie を保存するように php.ini が適切に構成されていることを確認することもできます。セッション Cookie のフォルダー、ドメイン、期間などを適切に構成するために、セッションが開始される前にページが読み込まれるたびに、それを行うか、session_set_cookie_params() を呼び出します。

php.ini ファイルで定義された Cookie パラメータを設定します。この関数の効果は、スクリプトの実行中のみ持続します。したがって、すべてのリクエストに対して、session_start() が呼び出される前に、session_set_cookie_params() を呼び出す必要があります。

この関数は、ini_get() で取得できる、対応する PHP ini 構成キーのランタイム ini 値を更新します。

于 2013-07-17T19:55:59.593 に答える