今朝、セッションの保存に問題があり、セッションを転送できないことがわかりました。 PHP ファイルを読みましたが、例外やエラーはありませんでした。
php.ini ファイルの session.save_path が正しく設定されていないのではないかという記事をインターネットで見つけました。その後、確認しましたが、問題はありませんでした。パスは正しいです。セッション ファイルが保存されているディレクトリを検索したところ、更新するたびに新しいセッション ファイルが生成されることがわかり、session_id() を出力しようとしました。案の定、session_id()
その後、インターネットでさらに情報を探し続けましたが、session_id も Cookie を介して伝達されるため、Cookie に問題があると言う人もいました。
var_dump というコマンドを使用して値を出力しようとしました。 ($_COOKIE) を実行すると、戻り値が何も含まれていない array(0){} であることがわかり、Cookie に問題があることがわかります。
全体的な検索の考え方に従って、最終的に、
php.ini の session.cookie_domain 設定が、次のようにクロスドメイン セッションを実行するときに変更されていることがわかりました。
session.cookie_domain = ".zssd.mobi"
ここで設定された Cookie は、トップレベルのドメイン名 zssd.mobi でのみ有効になります。目的は、クロスドメインの問題を解決することですが、他のドメイン名には問題があります (複数のドメイン名でクロスドメイン セッションを実現するには)。他のメソッドを使用する必要がある場合があります。解決済み)、session.cookie_domain が空に設定されている限り、session_id は通常どおり使用できます。具体的な変更は次のとおりです。
session.cookie_domain =
その後、Apache を再起動すると問題は解決します。