我在部署项目时对AWS非常陌生,我发现会话没有被存储。
因此,在Google和stack-Overflow的帮助下,我试图解决IS并尝试以下代码
<?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,而 expedition 第一个具有我上次执行存储的相同数据。
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 。任何人都可以指导我该怎么做吗? 他们的.
我也试过
这与AWS或ec2无关,我建议您在脚本开头将所有PHP注释掉到变量中,并在脚本开头始终使用session_start((