普段アプリケーションの作成をしておりますが、サーバーサイドの事をやる必要性が出て参りました。
(サーバーサイドの事は素人です。)
環境
CentOS7
nginx
PHP5.6
Redis 2.2.8
Redis-cli 3.2.9
AWSのElasticache(redis)を用いてPHPのセッション管理を行いたいのですが、
PHPファイルで下記の実行を行ったところ、session_session()が動いていないようでした。
php
1<?php 2session_start(); 3 4echo "save_handler=" . ini_get("session.save_handler") . "\n"; 5echo "save_path=" . ini_get("session.save_path") . "\n"; 6echo "session_id=" . session_id() . "\n"; 7 8$_SESSION['libname'] = "PhpRedis";
echo phpinfo();とすれば詳細が表示される(redisの項目も確認済)為、phpのインストールは出来ていると思います。
使用しているEC2からターミナルを利用して#php-cliでkeyのセットも行う事は出来ました。
また、php.iniを編集してsession.save_pathは"tcp://elasticacheのエンドポイント:ポート"として、session.save_handlerはredisとなっております。
不具合の原因になっているのはどのポイントでしょうか?
ご教示頂きたく。
改善点
異なるVPCにelasticacheを作成していた事からエラーが発生しておりました。
新たに同じVPC内にelasticacheを作成したところ、無事session_idの取得が出来ました。
一方で、新たな問題が発生しました。
$_Session["session_id"]にsession_idを格納し、
headerで別ページに遷移させた後に、セッション情報を取り出そうとしたところ、
nullと表示され、セッション情報が格納出来ませんでした。
何が原因かご教示頂きたく。

回答1件
あなたの回答
tips
プレビュー