人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

phpによるソースが同じ本番用と試験用の環境(フリースクリプトを改造したショッピングサイト)があるのですが、前者では商品ごとのURLにセッションIDが付かず、後者では付くという差異が生じています。どのような原因が考えられますか?

オリジナルではURLにセッションIDを付加してセッションを管理するタイプのスクリプトでしたが、ある事情から、これまたフリーの拡張スクリプトでセッションIDがつかないようにしました。その結果、本番用にはつかないのですが、同じソースなのに試験用にはついてしまいます。
カンで結構ですのでアドバイス頂けたら幸いです。
ズバリ的中した方には900pt以上差し上げます。

●質問者: hhashimo
●カテゴリ:インターネット ウェブ制作
✍キーワード:PHP URL アドバイス オリジナル クリプト
○ 状態 :終了
└ 回答数 : 4/4件

▽最新の回答へ

1 ● n416
●200ポイント

セッションをDBに入れている設定になっているのではないでしょうか?

http://www.res-system.com/weblog/item/619

session_set_save_handlerも見直すといいかもしれません。

http://jp.php.net/manual/ja/function.session-set-save-handler.php

あとはphp.iniの設定を見比べる必要がありますね。

◎質問者からの返答

ご回答ありがとうございます。サーバーは同じでバーチャルドメインで分けてるだけですので、phpの設定は共有です。セッションは共にDBではなくファイルに保存する設定になっています。他に何かありましたらお願いします。


2 ● nattow
●400ポイント ベストアンサー

お言葉に甘えてカンで回答です。すいません。

このようなケースでは標記のようなの問題が発生するかもしれません。

◎質問者からの返答

ご回答ありがとうございます。対象のショッピングサイトは通貨の変更が出来るのですが、設定した通貨が本番用、試験用それぞれのクッキーに保存されており、その変更内容がブラウザを閉じても保持されていることから、クッキーは問題なく受け付けているようです。

なお、セッションに関連するクッキーは本番、試験用共に見当たりませんでした。他に何かありましたらよろしくお願いします。


3 ● Cherenkov
●200ポイント

php.iniの再確認。

携帯向け?

◎質問者からの返答

ご回答ありがとうございます。

1?3つ目については他の方への返信で説明しましたので、省略させて頂きます。

最後のセッションIDが自動付与しない方法については知りませんでしたが、これも本番、試験用ともにhttp://からの絶対URLで指定しています。

URLの文字列を作るfunctionを見ると、http:から始るURLにセッションIDを入れた変数を結合してるのですが、本番用ではセッションID自体が発行されていないので、結合しても結果的にただの絶対URLとなっているという状態です。

しかし、何故か試験用の方ではセッションIDが発行されるためセッションID付きのURLとなっています。

突き詰めれば、なぜ試験用の方だけセッションIDが発行されるのかという問題です。何か思い当たることがあればよろしくお願いします。


4 ● pinkymonk
●200ポイント

ソースは環境設定がまったく同じということであれば

あと本番とテストでそれぞれバーチャルホストということであれば

PHP.iniの設定を.htaccessで変更していませんか。

http://www.shigeweb.jp/php/project_p/?section=setup&page=htaccess

http://f3.aaa.livedoor.jp/~matukazu/cautions/ini_session.php

◎質問者からの返答

ご回答ありがとうございます。

.httaccessを確認しましたが、そのような設定はありませんでした。

コメント欄に最新の調査状況を書きましたので、他に何かありましたらよろしくお願いします。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ