【问题标题】:php session cookie doen't start on localhost but working onlinephp session cookie 不在本地主机上启动,而是在线工作
【发布时间】:2018-03-10 05:33:10
【问题描述】:

最近我的 php 会话 cookie 在 localhost 上停止工作,但是当我在线上传相同的文件时它工作得很好,我不知道我做错了什么。

这是我在登录时启动会话的代码。

<?php
define('sessionservername', '.example.com'); 
$Lifetime = 365 * 24 * 60 * 60; //31536000; // set cookie life time
$sessionTime = 365 * 24 * 60 * 60;
ini_set("session.gc_maxlifetime", $Lifetime);
ini_set("session.cookie_lifetime", $Lifetime); 
ini_set("session.gc_divisor", "1");
ini_set("session.gc_probability", "1");
    function sec_session_start(){
        session_name();
        $secure = false;
        $httponly = false; /*This stops JavaScript being able to access the session id */
            // Forces sessions to only use cookies.
        if (ini_set('session.use_only_cookies', 1) === false) { header("Location: login.php?err=Could not initiate a safe session");exit();}
        $cookieTimeer = 365 * 24 * 60 * 60; //31536000;
        $cookieParams = session_get_cookie_params();
        session_set_cookie_params($cookieTimeer, $cookieParams["path"], '.example.com', $secure, $httponly);
        session_start(); 
    }
    ?>

感谢我添加这一行的每一页

<?php
session_set_cookie_params($sessionTime, "/", sessionservername, $sessionsecure, $sessionhttponly);
session_start();
?>

【问题讨论】:

  • 嗯...cookie 停止工作了?这是什么意思?
  • @bub,我的意思是我的会话不会在 localhost 上重新开始

标签: php session localhost session-cookies


【解决方案1】:

尝试删除此行或不执行 localhost 的行 -

session_set_cookie_params($cookieTimeer, $cookieParams["path"], '.example.com', $secure, $httponly);

以上行设置为仅保存给定域的 cookie。

【讨论】:

  • 感谢您发布我的问题的答案,我已通过删除此功能解决了问题sec_session_start()
猜你喜欢
  • 2018-03-04
  • 2021-11-12
  • 2019-05-10
  • 2012-03-21
  • 2017-02-17
  • 1970-01-01
  • 2020-11-03
  • 2014-04-17
相关资源
最近更新 更多