こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

セッション変数の受け渡しができない

a.php:
<?php
session_start();
$_SESSION['test'] = "ok";
echo "<html><body>\n";
echo "<pre>\n";
var_dump($_SESSION);
echo "</pre>\n";
echo "<a href=\"./b.php\">結果ページへ</a>";
echo "</body></html>\n";
?>

b.php:
<?php
session_start();
echo "<html><body>\n";
echo "<pre>\n";
var_dump($_SESSION);
echo "</pre>\n";
echo "</body></html>\n";
?>

a.php の表示:
array(1) {
["test"]=>
string(2) "ok"
}

結果ページへ

b.php の表示:
array(0) {
}

再読込みでも同様です。
php.ini の Session 関係の項目は書籍やウェブサイトを参考にしておかしなものはないと自己判断していますが、指摘されるものを掲載します。

投稿日時 - 2008-02-03 19:04:55

QNo.3741219

すぐに回答ほしいです

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.2

wp_

>/var/lib/php/session
ここのpermissionがapacheで読めない状態とか。
nobodyではないとか0755ではないとか。

クライアント側のクッキーが遮断されてたりとか。
httpの生クエリは正しく受け取れていますか?
粗悪なproxyを間に挟んでてcookieが欠落していたりとか。

fxでも見れないのであればこの辺が怪しいですね。
ssl絡みであればsecure絡みかもしれません。

投稿日時 - 2008-02-04 11:35:52

補足

Firefox と Opera をセットアップして試した結果、これらでは目的通りの正常な動きをすることが確認できました。

ただ、4 か所で MSIE 6.0 や 7.0 を試してみると、いずれもうまくいきません。これでおそらく、サーバ側ではなくてユーザ エージェント (MSIE) 側の問題ではないかと思うに至りました。しかし、MSIE については私のところ 1 か所だけ私が設定したものです (Windows のセットアップ以降、自働アップデート以外いじってはいません) ので、おかしな動きとなる共通の設定変更はないはずです。さらに、このセッションはこの MSIE 個体で訪れた多くのショッピング サイトなどで同じように使われているはずですが、今まで特に問題が生じたことはありません。

投稿日時 - 2008-02-05 10:14:21

ANo.1

スクリプト自体は問題ありません。

#xamppとレンタルサーバ(http://shimix.s7.coreserver.jp/a.php)で確認しました。

>php.ini の Session 関係の項目は書籍やウェブサイトを参考にしておかしな
>ものはないと自己判断していますが、指摘されるものを掲載します。

defaultの設定と違う部分などはありますか?

http://www.php.net/manual/ja/ref.session.php

投稿日時 - 2008-02-04 02:32:59

補足

ご紹介先の設定と異なるものを書き出しました:

session.save_path = "/var/lib/php/session"
session.gc_divisor = 1000
session.bug_compat_42 = 0
session.hash_bits_per_character = 5

お願いします。
ウェブブラウザは IE の 6.0 で、これは知人のところから試した場合も同じですが、かといって IE 6.0 特異的な問題や SSL 下にあることが問題かと思って検索しても特段出てこないので、サーバの問題かとも思ったりします。

投稿日時 - 2008-02-04 10:04:58

あなたにオススメの質問