如何在 PHP 中创建持久会话?

2023-12-19

I used session_start()在 PHP 中启动会话,但是当我的浏览器关闭时,会话就消失了。

如何使用 PHP 创建跨浏览器关闭的持续会话?


See the php.ini value session.cookie_lifetime http://www.php.net/manual/en/session.configuration.php#ini.session.cookie-lifetime.

默认值为0意味着当浏览器关闭时结束会话。

您可以直接覆盖该值php.ini或者在开始会话之前在您的应用程序中设置它ini_set http://php.net/ini_set。将其设置为大于0将导致会话持续该持续时间。

E.g.

ini_set('session.cookie_lifetime', 60 * 60 * 24 * 7);  // 7 day cookie lifetime
session_start();

上面的示例导致会话 cookie 设置为自会话启动后 7 天到期。

Note:如果您从同一段代码为所有网页启动会话,则每次都不会继续延长会话过期时间session_start()被叫。 cookie 的生存期是从会话首次启动时开始设置的,而不是在后续请求时设置。如果您想将会话的生命周期从当前时间延长 7 天,另请参阅session_regenerate_id() http://www.php.net/manual/en/function.session-regenerate-id.php.

另请注意:如果你的会话.gc_maxlifetime http://www.php.net/manual/en/session.configuration.php#ini.session.gc-maxlifetime如果值设置为小于会话 cookie 的长度,则可能会遇到这样的情况:用户 5 天没有访问该站点,当他们返回时,会话 cookie 不再有效,因为服务器上的数据已被删除。已删除。为了解决这个问题,您还应该将此会话数据的生命周期设置为至少与您的 cookie 生命周期一样长。正如手册所述,可能需要使用自定义session.save_path对于您希望比默认值持续更长时间的会话数据。因此,您的脚本可能如下所示:

ini_set('session.cookie_lifetime', 60 * 60 * 24 * 7);
ini_set('session.gc_maxlifetime', 60 * 60 * 24 * 7);
ini_set('session.save_path', '/home/yoursite/sessions');
session_start();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 PHP 中创建持久会话? 的相关文章

  • Nginx 安全链接模块不适用于 php 文件,但适用于静态文件

    我在用http nginx org en docs http ngx http secure link module html http nginx org en docs http ngx http secure link module
  • 在 Elasticsearch php API 中使用多种类型或索引

    我想使用查询多种类型和索引Elasticsearch PHP API 但我不知道怎么办 我应该将类型和索引的数组传递给 params params index index array of indices params type types
  • PHP,JSON 解码中的无效字符

    我在让 json decode 处理我收到的特定字符串时遇到问题 我已将其范围缩小到这一行 systemNotes 6 2013 年 1 月 9 日 12 52 PM 测试名称 帐单地址 2 已更改为送货姓名 送货姓氏 电子邮件地址 送货地
  • 在 Yii2 中从数据库中多态查找模型

    我在数据库 mysql 中有一张表 但该表存储了几种略有不同类型的行 类型取决于此表的type柱子 我有一个表的抽象 ActiveRecord 类和几个后代子类 它们为不同类型的同一表的行实现略有不同的逻辑 现在我正在为所有类型的行实现更新
  • 选择 mysql 枚举的 php 函数

    因此 我创建了一个函数 它将从数据库中的枚举字段中提取值
  • 从 PHP 访问 JavaScript 变量

    我需要访问一个JavaScript变量与PHP 这是我当前正在尝试的代码的精简版本 该版本不起作用 我对 JavaScript 和 PHP 都是新手 所以我非常感谢任何建议 UPDATE 好吧 我想我过于简化了 我想做的是创建一个表单 提交
  • 为什么 crontab 不执行我的 PHP 脚本?

    我已经构建了一个 php 文件来检查一些结果 因此我需要设置一个 cronjob 我设置每 30 分钟运行一次 以便发送结果 但是 我不知道为什么我的 crontab 没有每 30 分钟运行一次 这是我设置 crontab 的方法 30 p
  • 如何让 CodeIgniter 接受“查询字符串”URL?

    根据 CI 的文档 CodeIgniter 使用基于分段的方法 例如 example com my group 如果我想找到一个特定的组 id 5 我可以访问 example com my group 5 并在控制器中定义 function
  • 使用 php、gmail 和 swiftmailer 发送电子邮件导致与 SSL 相关的错误

    这是我的 PHP 代码 function SendCookieToTheMail require once swift mailer lib swift required php Create the Transport transport
  • 单击时获取元素的 id(php、jquery、ajax、javascript)

    抱歉 这是我的第一个项目 我学到了很多东西 因此 如果有人可以帮助我 我将不胜感激 我的项目中有这个侧边栏 其中包含 rss 链接 我必须使用 ajax 因此每次用户单击任何 rss 链接时 提要都会出现在屏幕上 这是我的侧边栏代码 div
  • Node + now.js + 模型-视图-控制-模式

    我正在使用基于 MVC 模式 模板和 PHP 类 的论坛软件 页面如下所示 domain com index php page Test 我想使用 Node 和 now js 在一个页面 domain com index php page
  • 将字符串拆分为字母数组 - 双字符字母 PHP

    我需要将一个字符串拆分为一个字母数组 问题是在我的语言 克罗地亚语 中也有双字符字母 例如 lj nj d 所以字符串如ljubi icajecvijet应该分成一个数组 如下所示 Array 0 gt lj 1 gt u 2 gt b 3
  • 由商店经理根据指定的分类术语过滤 WooCommerce 订单

    我想将带有特定产品标签的订单分配给后端的特定商店经理 并隐藏其余订单 我目前正在使用WooCommerce 订单拆分器 https wordpress org plugins woo order splitter免费插件可按项目 产品 将订
  • 证明字符串算法[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • PDO 连接字符串:最好的方法是什么? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我想使用 php pdo 制作一个后端应用程序 我发现了很多不同的方法来处理 PDO 连接字符串 我想知道使用 pdo 执行连接字符串的最佳方法
  • PHP Imagick - setTextEncoding() 函数不起作用

    我正在尝试在 Imagick 对象上添加一些文本 但是我使用 setTextEncoding 函数 它仍然不起作用 draw new ImagickDraw draw gt setTextEncoding utf 8 draw gt set
  • 限制传出 PHP+curl 请求的速率

    有没有办法限制 有延迟 向外部服务器发出 PHP curl 请求的速率 以便每秒只有 n 个请求 PHP 在 Fastcgi 模式下使用 因此无法使用睡眠 是的 有curl 多重处理程序 您可以使用 OOP 方式以 OOP 方式完成此操作这
  • 如何检查文件是否为php?

    我想检查文件是否具有扩展名 php 如果有的话我会把它包括在内 有人可以帮我进行正则表达式检查吗 thanks 通常您不使用正则表达式 以下是一种流行的方法 extension pathinfo filename PATHINFO EXTE
  • PDF:在现有 PDF 文件中插入一行文本

    我有一个 PDF 文件 我希望在所有页面 前两页除外 的页脚上添加一行纯文本 不是徽标或类似内容 有谁有一个如何做到这一点的例子 用任何语言 Update 原始 PDF 是用 Scribus 制作的 我可以完全控制它 因此 如果更容易进行查
  • 如何开始 Zend Framework 开发

    Hai 首先谢谢 我下载了 Zend 框架 C wamp zend 我将 php ini 的包含路径更改为 C wamp zend 我在我的 php 信息中看到了这个 我认为包含路径是正确的 我仍然有很多疑问 我从哪里开始在 zend 框架

随机推荐

  • 从 64 位的 SysListView32 获取文本

    这是我的代码 public static string ReadListViewItem IntPtr lstview int item const int dwBufferSize 1024 int dwProcessID LV ITEM
  • ngx-datatable 的通用“包装”组件

    一些介绍 我们目前正在开发一个基于 Angular2 的应用程序 该应用程序数据量很大 为了显示这些数据 我们决定给出ngx 数据表 https github com swimlane ngx datatable尝试一下 需要大量组件来显示
  • Android:创建自定义容器视图

    我正在尝试在 android 中创建一个自定义视图 或更好的布局 它用作 2 个子视图的容器 将其视为垂直分隔 2 个容器的条形图 可以上下滑动 我想像 xml 中的布局一样使用它 以便您可以在其中嵌套任何视图 我想到了类似的事情
  • 更新企业应用程序的 iOS 开发和 APNs 生产 [AirWatch]

    我为我的公司开发了一个 iOS 应用程序 我们通过 AirWatch 分发它 有些证书即将过期 试图弄清楚该怎么做是非常令人困惑的 我用谷歌搜索了一下 似乎每个页面都有不同的信息 如果有人能指出我正确的方向 我真的很高兴 我有一张 iOS
  • glGenerateMipmap 需要哪个内存屏障?

    我已使用 GL ARB shader image load store 写入纹理的第一个 mipmap 级别 文档指出 在其他操作中使用该图像的内容之前 我需要调用 glMemoryBarrier 以便适当地刷新缓存 例如 在执行 glTe
  • MPNowPlayingInfoCenter 与 Apple Music 冲突

    我正在开发一个在后台播放音乐的音乐播放器 该应用程序与 Spotify 和 Apple Music 集成 用户将仅在其中一项服务中进行身份验证 目前 我可以使用这两种服务在应用程序和后台播放音乐 我也能够设置MPNowPlayingInfo
  • MySql 查询:从表中为每个类别选择前 3 行

    我有一个包含记录的表 它有一行名为category 我插入了太多文章 我只想从每个类别中选择两篇文章 我尝试做这样的事情 我创建了一个视图 CREATE VIEW limitrows AS SELECT FROM tbl artikujt
  • 为什么在 PHP 中对日期格式为“YYYY-MM-DD”的两个字符串进行小于或大于比较会起作用,即使它们是字符串?

    我正在为一个项目编写一段 PHP 代码 该项目将 YYYY MM DD 格式的日期与当前日期进行比较 以查看它是否小于当前日期 在代码的不同点 使用了两种不同的方法进行比较 第一个使用的get timestamp 日期并根据时间戳进行比较
  • 在 MATLAB 中使用转置与 ctranspose

    在 MATLAB 中转置向量 矩阵时 我只看到并使用了 撇号 运算符很长一段时间 例如 gt gt v 1 2 3 v 1 2 3 然而这是共轭转置正如我最近发现的那样 或者ctranspose 这似乎只在涉及复数时才重要 如果你想转置矩阵
  • 旋转时调整 UINavigationBar 的大小

    我有一个 UIViewController 的子类 它处理 UIView 视图控制器以模态方式呈现 它从屏幕底部向上滑动 在视图的顶部 我添加了一个导航栏 请注意 该栏不是由导航控制器处理的 我想让导航栏在视图旋转到横向时缩小高度 类似于
  • 如何更改 iOS7 中 UISearchBar 的取消按钮色调颜色

    我想将 Textfield 的色调颜色更改为蓝色 并将 UISearchBar 的取消按钮色调颜色更改为白色 我正在使用下面的代码 for UIView subView in searchBar subviews for UIView nd
  • Python 列表与数组——何时使用?

    如果要创建一维数组 可以将其实现为列表 或者使用标准库中的 array 模块 我一直对一维数组使用列表 我想改用数组模块的原因或情况是什么 是为了性能和内存优化 还是我错过了一些明显的东西 基本上 Python 列表非常灵活 可以保存完全异
  • Python 日志记录不会关闭

    我一直在学习 python 日志记录模块 但在完成后关闭日志记录时遇到问题 这是一个例子 import logging log logging getLogger log setLevel logging INFO handler logg
  • emacs 更改默认行结尾

    在 Windows 中 Emacs 使用 cr lf 进行换行 但我喜欢所有文件都使用 Unix 行结尾 lf 我找到了一种在会话期间更改它的方法 但我不是 Emacs 专家 无法将解决方案转换为 emacs 文件中的 elisp 命令 有
  • 如何在Google Sheet App脚本中使用JS库?

    我想在 Google Sheet 中编写一个自定义函数来生成条形码 如何导入外部 js 库 例如https lindell me JsBarcode https lindell me JsBarcode 这就是我到目前为止所做的 funct
  • PHP cli 脚本不输出任何内容

    所以我有一个 php 脚本 我使用以下命令执行 php f my script php myArguments 该脚本使用 svn 进行版本控制 我刚刚更新了它 将运行它的命令粘贴到终端中 然后执行它 但是 没有任何输出 不是失败消息 不是
  • 如何在也具有导航的 Tabbar 应用程序中调用 viewWillDisappear 方法

    我在我的应用程序中创建了 5 个选项卡 在Tab1 i have UITableView On didSelectRowAtIndexPath我正在导航到另一个 UIView 其中显示了我的所有 5 个选项卡 我还在那个导航视图中播放歌曲
  • Delphi XE5可以编译一个可以用“System.loadLibrary”在Java中加载的.so库吗?

    我之前已经使用 Free Pascal FPC 编译器成功编译了一个用 Pascal 编写的 so 库 该库通过 System loadLibrary 在 Android Java 中成功加载 并且可以通过 Android Java 代码中
  • 从rc6升级到Rails 3.1.0,资产预编译失败

    从 Rails 3 1 0 rc6 升级到 Rails 3 1 0 后 运行时收到一些错误消息assets precompile像这样的任务 RAILS ENV production RAILS GROUPS assets rake ass
  • 如何在 PHP 中创建持久会话?

    I used session start 在 PHP 中启动会话 但是当我的浏览器关闭时 会话就消失了 如何使用 PHP 创建跨浏览器关闭的持续会话 See the php ini value session cookie lifetime