0

奇妙な問題があります。$_SESSION を使用してログインエラーをユーザーに表示していました。問題なく動作していました。数日前、ホストを Plesk ホストから safe_mod off を実行する cPanel ホストに変更しました。どういうわけか、ログイン ページの $_SESSION が機能しません。インデックス ページで $_SESSION をテストしたところ、問題なく動作し、$_SESSION 関数の動作に問題はありませんでした。両方のページに同じセッション開始ページが含まれていました。

また、関数ファイルが含まれている場合、ログインページでは何も機能しません。(セッション、投稿項目、クラス、関数など何もありません。)ただし、関数ファイルが含まれていても、すべてがインデックスページで機能します。ここで何が起こっているのですか?その理由は何ですか?

PS: メンバー システムに UserCake を使用しています。私のサーバーでは、php エラーを htaccess レベルで有効にすることはできません。

error_reporting(E_ALL);
ini_set('display_errors', '1');

また、エラーログには何も関係がないようです。

編集:使用してエラーを表示することに成功しました

ini_set('error_reporting', 8191); 
ini_set('display_startup_errors', 1); 
ini_set('display_errors', 1);

@JA に感謝しますが、エラーはないようです。

4

3 に答える 3

0

次のいずれかの解決策。

  1. session_start(); を置きます。$_SESSION にアクセスしているページの上に。

  2. php.ini を確認してください。他の解決策に従わない場合は、セッションの自動開始を 1 に設定できます。

于 2012-05-29T16:51:48.583 に答える
0

私はこの答えがばかげていることを知っています....しかし、あなたはsession_start();を見逃したと思います。ログインページの上部

<?php session_start();?>

または、ログインとログアウトに同じページを使用したに違いないと思います。したがって、構成の誤りにより、セッションが設定解除または破棄されています。その場合は、コードを一度確認するか、ログイン用とログアウト用のファイルを分けてください...

于 2012-05-29T16:53:17.527 に答える