[PHP-users 30519] Re: session_start()から先に進まない

donguri256 @ mac.com donguri256 @ mac.com
2006年 10月 14日 (土) 20:35:21 JST


質問者のどんぐりです。

On 2006/10/14, at 17:23, Reiji Matsumoto wrote:

>>  http://example.co.jp:80 → 本番環境マシン:80
>>  http://example.co.jp:8080 → 開発環境マシン:80 へフォワード
>
> これが原因だと思います。ポートが違うだけでは同一セッション
> が利用されるからです。
(snip)
> 本番とテストでドメインが違っている方が良いです。

なるほど、ありがとうございます。さっそく変えることにします。
なにか変更しても、直後に好影響を確認できない問題なのがつらいところですが。

ですが、これは同ブラウザで両サイトにアクセスした場合にCookieを共有してしまうということですよね。
本番環境のサイトには数名の知人がアクセスするのですが、「進まない、開けない」という報告があります。
知人らは開発環境のほうにはアクセスしません。
なので、これだけが原因ではなさそうですね。


>> Apacheログについては、アクセスログ、エラーログ共に、この問
>> 題については一切のロギングはされていません。
> エラーの有無では無く、単純にどのスクリプトがどのような順番で、
> どのぐらい間隔を置いてリクエストされているかを見てみたい所です。

問題が発生しているときは、一切のロギングがありません。
問題のないときは、イメージファイルなど含めるとそれなりの数はありますが、普通に一瞬でロードされています。
まずindex.php、次に.js、.css、.gifなどです。
.phpはindex.phpだけです。簡単なフレームワークのような仕組みを作って動かしており、index.php以降はすべてrequire_once()しています。


> Smartyで動的にJavaScriptを生成しているそうですが、そのJavaScript
> を出力する時にもsession_start()は行っていますか?
> だとしたら、そこで引っ掛かっているのかもしれませんね。

JavaScriptを出力するページの表示時にも、というか全ページの頭でsession_start()しています。(上記のindex.phpにsession_start()があるので。)
JavaScriptは、ある個所をポイントすると出現するtooltipを表示したり、フォームのサーバへの送信前にもvalidateしてアラートを表示するために生成しています。
不勉強ですみませんが、JavaScriptを生成して出力する際に併せてセッションを開始することが、どう関連してくるのか想像がつかないのですが、それはどういった問題になるのでしょうか。


まずは、開発環境のドメイン変更をして状況を見てみます。

---
どんぐり
donguri256 @ mac.com



PHP-users メーリングリストの案内