されている$_SESSION
変数は、クライアントまたはサーバに保存されていますか?
されている$_SESSION
変数は、クライアントまたはサーバに保存されていますか?
回答:
$_SESSION
変数ストレージの場所は、PHPのsession.save_path
構成によって決まります。通常、これは/tmp
Linux / Unixシステム上にあります。ドメインのphpinfo()
内にこのコンテンツを含むファイルを作成して、100%確実でない場合は特定の設定を表示する関数を使用しDocumentRoot
ます。
<?php
phpinfo();
?>
この構成設定に関するPHPドキュメントへのリンクは次のとおりです。
http://php.net/manual/en/session.configuration.php#ini.session.save-path
すでに述べたように、コンテンツはサーバーに格納されます。ただし、セッションはセッションIDによって識別されます。これはクライアントに格納され、各リクエストで送信されます。通常、セッションIDはCookieに保存されますが、URLに追加することもできます。(これは、PHPSESSID
ときどき表示されるクエリパラメータです)
通常はサーバーに保存されます。それらがどこに保存されるかは開発者としてのあなた次第です。session.save_handler
構成変数とを使用して、session_set_save_handler
セッションをサーバーに保存する方法を制御できます。デフォルトの保存方法は、セッションをファイルに保存することです。保存される場所はsession.save_path
変数によって制御されます。
テイラー氏が指摘したように、これは通常php.iniで設定されます。通常、それらは特定のディレクトリにファイルとして保存されます。
上記の答えの多くは不透明です。私の意見では、この質問の作成者は、セッション変数がデフォルトで格納されている場所を知りたいだけです。これによると:https://canvas.seattlecentral.edu/courses/937693/pages/10-advanced-php-sessions彼らは単にされ、デフォルトでは、サーバーに保存されています。うまくいけば、他の人がこの貢献に意味があると思うでしょう。