• 締切済み

他言語プログラムにて生成されたSESSIONをPHPで読み込むことは可能でしょうか?

同一サーバー内の 他言語のプログラムにて生成されたSESSIONを PHPでその値を読み込む事は可能でしょうか? また、取得する場合は通常と同様に $_SESSION['hoge']で宜しいでしょうか?

みんなの回答

回答No.1

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

dr-z400s
質問者

お礼

丁寧なご回答ご意見有難う御座いました。 セッションがサーバーサイド側の webサーバーアプリ依存なのか、その上のサーバーサイドプログラム依存なのかが 判らなくなってしまい上記のような質問を致しました。 結果、サーバーサイドプログラム依存ということですが、 Apache::Sessionのように perlからPHPのセッションデータにアクセスは出来るようですが その他の言語間(サーバーサイドプログラム)では難しいようですね。 今回は、他言語プログラム間でのセッションをまたぐ方法以外で 問題は解決できました。 有難う御座いました。

関連するQ&A