ディレクトリに3つの基本ディレクトリがありpublic_html
ます。たとえば、これらは次のとおりです。
- Directory_A はhttp://site.comを表します
- Directory_B はhttp://subsite-b.site.comを表します
- Directory_C はhttp://subsite-c.site.comを表します
ログインしたユーザーがディレクトリ (サイトとサブサイト) をまたいでアクセスしたときに保存するpublic_html
名前付きの別のディレクトリがあります。Sessions
sessions cookies
添付の写真は、私のディレクトリ構造を明確に示していますcPanel.
のフォルダーとサブフォルダーの間でセッションを渡すのに問題はありませんDirectory_A
。この問題は、訪問者が Directory_A
からDirectory_B
またはDirectory_C
( http://site.comからhttp://subsite-b.site.comまたはhttp://subsite-c.site.comにアクセスする) セッションがまったく渡されない場合に発生します。session_set_cookie_params
上記のサブサイトのすべてのページに変数を設定しましたが、
$mysession = session_name("mysession");
session_set_cookie_params(0, '/', '.site.com');
session_start();
注目すべきことは、現在、変数がサーバーsession.save_path
上で次の構成になっていることです。PHP
session.save_path /tmp /tmp
現在、あるディレクトリから別のディレクトリにセッションがまったく渡されないため、パスを like に指定しpublic_html
て の構成を変更しました。session.save_path
public_html/Sessions
session.save_path /public_html/Sessions /public_html/Sessions
上記の構成の変更により、訪問者がこれらのサイトにアクセスすると、 http://site.com、http://subsite-b.site.com、およびhttp://subsite-c.site.comのすべてのページで同様の警告が返されます。
Warning: session_start() [function.session-start]: open(/public_html/session/sess_0d38g21b3153bb4343g8d687442e76ed, O_RDWR) failed: No such file or directory (2) in /home/user/public_html/Directory_B/index.php on line 4
上記の警告に記載されているように、4行目にコードがありますsession_start();
ここで何がうまくいかないのですか?不適切なサーバー構成が原因で発生していますか? あるディレクトリから別のディレクトリにセッションを適切に渡すにはどうすればよいですか?
この問題に関するアイデアや知識は高く評価されます。