ThinkPHP のセッションクロスドメインの問題は、多くの開発者が遭遇しています。
実際、ThinkPHP であろうと PHP 自体であろうと、セッションのクロスドメインの問題を解決するときは session.cookie_domain を設定する必要があります。
ThinkPHP では、構成ファイル conf/config.php を変更する必要があります
最初の行に次のように追加します:
ini_set('session.cookie_domain', ".domain.com");//跨域访问Session
まとめると、クロスドメイン セッションの問題の主な解決策は次のとおりです。
最初の状況: ディレクトリに .htaccess ファイルがない場合、つまり URL が疑似静的でない場合、conf/config.php の最初の行に
ini_set('session.cookie_domain',".domain.com");//跨域访问Session
を追加します。これが当てはまります。デバッグが有効になっているので、機能する可能性があります。ただし、デバッグがオフになっている場合は、機能しない可能性があります。
2 番目のケース: ディレクトリに .htaccess ファイルがある場合は、ルート ディレクトリに、index.php の最初の行を追加します:
この方法は、デバッグがオンになっているかどうかに関係なく機能します。
ThinkPHP フレームワークによって実装されたセッションのクロスドメイン問題の解決策に関するその他の関連記事については、PHP 中国語 Web サイトに注目してください。