0

サーバーでホストされている複数のサイトがあり、それらのほとんどはユーザーがログインするときにセッションを使用します。

たとえば、$_SESSION["loggedin"] = 'yes'ユーザーのログインが成功した場合、セッション変数があります。

これは複数のサイトで同じですが、同時に 2 つのサイトにログインすると、そのうちの 1 つが機能しなくなり、次のエラーが表示されます。

Warning: session_start() [function.session-start]: open(/tmp/sess_8f7b4997fbfdd08855a410ae4638821f, O_RDWR) failed: Permission denied (13) in /home/theboaty/public_html/new_site/admin/authorisation.php on line 2

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home/theboaty/public_html/new_site/admin/authorisation.php:2) in /home/theboaty/public_html/new_site/admin/authorisation.php on line 2

Warning: Cannot modify header information - headers already sent by (output started at /home/theboaty/public_html/new_site/admin/authorisation.php:2) in /home/theboaty/public_html/new_site/admin/authorisation.php on line 5

Warning: Unknown: open(/tmp/sess_8f7b4997fbfdd08855a410ae4638821f, O_RDWR) failed: Permission denied (13) in Unknown on line 0

Warning: Unknown: Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/tmp) in Unknown on line 0

注:セッション変数をauthorisation.phpチェックしてloggedin、ユーザーがログインしているかどうかを確認します

4

1 に答える 1

0

セッションを取得するカスタム ユーザー ハンドラーを使用しているため、私はほとんど同じ問題を抱えています。

同じサーバー上の 2 つの異なる関連サイトに同じブラウザー ウィンドウを使用してログインし、異なるタブを使用すると、クロストークが発生することがわかりました。

これが受け入れられない場合は、サイト vis ごとにセッション変数の名前を変更することをお勧めします。

$_SESSION['site1']['isloggedin']=1;
于 2013-07-29T08:03:04.273 に答える