アプリ版:「スタンプのみでお礼する」機能のリリースについて

同一サーバー内の
他言語のプログラムにて生成されたSESSIONを
PHPでその値を読み込む事は可能でしょうか?

また、取得する場合は通常と同様に
$_SESSION['hoge']で宜しいでしょうか?

A 回答 (1件)

> $_SESSION['hoge']で宜しいでしょうか?


そのままではまず無理でしょうね。

セッションはユーザーに知らせる事無く、セッション中の情報をサーバ側に保存するシステムです。セッションの保存方法はそのシステムによって違います。
例えばPHPの場合、セッション保管ディレクトリ(私の環境では/var/lib/php5/session)にsess_xxxxxxxxxxxxxxxxxxxxxxxxxと言うようなファイルを作っています。のぞいてみると、
hoge:2:{変数:数字:値;変数:数字:値;}
と言うような形式で保存されています。これはPHP用に保存した形式です。
その他の言語では、保存する場所も違うでしょうし、形式も違う筈です。単純に$_SESSION['hoge']で取得出来るはずがありません(当然、他言語で強引に同じ形式で保存すれば可能だと思います)。
セッションを共通にしたい場合は、言語間で共通のファイルを共有し、自作でセッションクラスを作ると言うのが現実的かと思います。

ちょっと混同しやすいですが、クッキーはクライアント側(ユーザのパソコン)に保存する物です。クッキーは仕様が同じですから、クッキーに保存したデータなら他言語で保存したとしても、$_COOKIE['hoge']で取得する事は可能かと思います。
    • good
    • 0
この回答へのお礼

丁寧なご回答ご意見有難う御座いました。

セッションがサーバーサイド側の
webサーバーアプリ依存なのか、その上のサーバーサイドプログラム依存なのかが
判らなくなってしまい上記のような質問を致しました。

結果、サーバーサイドプログラム依存ということですが、
Apache::Sessionのように
perlからPHPのセッションデータにアクセスは出来るようですが
その他の言語間(サーバーサイドプログラム)では難しいようですね。

今回は、他言語プログラム間でのセッションをまたぐ方法以外で
問題は解決できました。

有難う御座いました。

お礼日時:2007/07/13 11:31

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!