Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP中不采用会话持续时间设置_Php_Session_Cookies - Fatal编程技术网

PHP中不采用会话持续时间设置

PHP中不采用会话持续时间设置,php,session,cookies,Php,Session,Cookies,我的目的是,在页面上静止20分钟或关闭所有选项卡后,不要丢失会话。我希望会议继续按照我的要求进行 我如何继续: 创建了一个文件“sessionSettings.php”,我在其中设置了持续时间,请参见下面的代码 在会话_start()之前,将其包含在需要的每个文件中 但它不知何故无法适应,会话像往常一样被删除 提前谢谢 sessionSettings.php <?php // server should keep session data for AT LEAST 1 week ini

我的目的是,在页面上静止20分钟或关闭所有选项卡后,不要丢失会话。我希望会议继续按照我的要求进行

我如何继续:

  • 创建了一个文件“sessionSettings.php”,我在其中设置了持续时间,请参见下面的代码
  • 在会话_start()之前,将其包含在需要的每个文件中
但它不知何故无法适应,会话像往常一样被删除

提前谢谢

sessionSettings.php

<?php
// server should keep session data for AT LEAST 1 week
ini_set('session.gc_maxlifetime', 604800);

// each client should remember their session id for EXACTLY 1 week
session_set_cookie_params(604800);

你在地图上看到这张便条了吗?注意:如果不同的脚本具有不同的session.gc_maxlifest值,但共享存储会话数据的相同位置,则具有最小值的脚本将清除数据。在这种情况下,将此指令与session.save_path一起使用。@Nick:我明白了。由于我无法控制php.ini,因此我通过一个文件更改设置。我的问题是:我是否需要将sessionSettings文件包含在任何页面中,或者只是在我调用session_start()函数的地方?实际上,您可以直接向
session_start
提供这些选项,例如
session_start(['save_path'=>'some path'])
但是,如果不是这样,它应该只在调用
session\u start
的页面中需要,我不知道从何而来。PHP会话只使用一个默认为
PHPSESSID
名称的cookie(尽管您可以使用
session\u name()
更改它),并且您已经拥有了该cookie。但是可能有一些代码正在运行另一个并行会话,
session.name
设置为
SERVERID123
?如果它来自PHP,您应该能够在会话文件存储目录中找到一个名为
sess\uuu
的文件和cookie的值。恐怕在这种情况下我已经没有主意了。如果没有对服务器的完全访问权,则很难进行调试。很抱歉