【发布时间】:2020-04-24 22:38:37
【问题描述】:
我在部署我的项目时对 AWS 非常陌生,我发现会话没有被存储。
所以在谷歌和堆栈溢出的帮助下,我试图解决的是并尝试以下代码
<?php
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
ini_set('display_errors', 'on');
//ini_set('session.gc_maxlifetime', 1500);
ini_set("session.save_handler", "files");
$dir=getcwd() . '/ses'; //folder with 777 permission
ini_set('session.save_path', $dir);
//ini_set('session.name', "name-session");
ini_set('session.gc_probability', 1);
ini_set('session.use_only_cookies', 0);
//ini_set('session.serialize_handler', '');
$sId = session_id();if ($sId == '') { session_start(); }
print_r($_SESSION);
$_SESSION['loggedIn']="swarna";
$_SESSION['name']=session_name();
$_SESSION['cookie_params']=session_get_cookie_params();
$_SESSION['cache_expire']=session_cache_expire();
$_SESSION['session_id']=session_id();
$_SESSION['maxlifetime']=ini_get("session.gc_maxlifetime");
echo "<br> \n <pre>";
print_r($_SESSION);
print_r(scandir($dir));
echo "<br> \n </pre>";
但是每次我刷新它都没有工作,它打印第一个print_r($_SESSION);为空,第二个具有不同的会话ID,而远征第一个具有相同的数据,我上次执行时存储的数据。
Array ( )
Array
(
[loggedIn] => swarna
[name] => name-session
[cookie_params] => Array
(
[lifetime] => 0
[path] => /
[domain] =>
[secure] =>
[httponly] =>
)
[cache_expire] => 180
[session_id] => qip9hisbsh901gbpbjef4qe70c
[maxlifetime] => 1440
)
Array
(
[0] => .
[1] => ..
[2] => sess_2rkl7v7h593ih942i1k14o9s4d
[3] => sess_4ccmmm0efq7quj26pm6r0ue9sn
[4] => sess_8rvh2nd9n0ng4vtekevh6p26ef
[5] => sess_lj4r99u9gf22ur935jr4gbcd97
[6] => sess_qip9hisbsh901gbpbjef4qe70c
)
现在我在 AWS Amazon Linux 2 服务器中使用 php7。谁能指导我该怎么做?他们怎么了。
我也试过了
【问题讨论】:
-
你有负载均衡器吗?
-
否 - 负载均衡器不是他们的
标签: amazon-web-services apache session php-7