Home >Backend Development >PHP Tutorial >How to set up php session to never expire_PHP tutorial

How to set up php session to never expire_PHP tutorial

WBOY
WBOYOriginal
2016-07-13 10:55:451002browse

This article introduces several ways to set up PHP session to never expire. The best way is not to modify the program, because if the program is modified, the testing department will be very depressed like me, so the system environment configuration can only be modified. , it’s actually very simple. Open the php.ini setting file

and modify the three lines as follows:

1. session.use_cookies
Set the value of this to 1 and use cookies to pass sessionid

2. session.cookie_lifetime
This represents the time that the SessionID is stored in the client cookie. The default is 0, which means that the SessionID will be invalidated as soon as the browser closes it... It is because of this that the PHP session cannot be used permanently! So let's set it to a number we think is big, how about 999999999, that's ok! that's all.

3. session.gc_maxlifetime
This is the time that Session data is stored on the server side. If this time is exceeded, the Session data will be automatically deleted! So let's also set it to 99999999.

That's it, everything is ok. Of course, if you don't believe it, just test it and see - set up a session and come back after 10 days and a half. If your computer does not have a power outage or downtime, you will still be able to see it. You can see this sessionid.

Of course, it is also possible that you do not have the authority to control the server and are not as lucky as me to be able to modify the php.ini settings. We have a way to rely on ourselves. Of course, we must use the client to store cookies, and get the sessionID Store it in the client's cookie, set the value of this cookie, and then pass this value to the session_id() function. The specific method is as follows:

// If $PHPSESSID is set, assign SessionID to $PHPSESSID, otherwise generate SessionID
The code is as follows
 代码如下 复制代码

session_start(); // 启动Session
$_SESSION['count']; // 注册Session变量Count
isset($PHPSESSID)?session_id($PHPSESSID):$PHPSESSID = session_id();
// 如果设置了$PHPSESSID,就将SessionID赋值为$PHPSESSID,否则生成SessionID

$_SESSION['count']++; // 变量count加1
setcookie('PHPSESSID', $PHPSESSID, time()+3156000); // 储存SessionID到Cookie中
echo $count; // 显示Session变量count的值
?>

Copy code

session_start(); // Start Session

$_SESSION['count']; // Register Session variable Count

isset($PHPSESSID)?session_id($PHPSESSID):$PHPSESSID = session_id();
$_SESSION['count']++; // Add 1 to variable count

setcookie('PHPSESSID', $PHPSESSID, time()+3156000); // Store SessionID in Cookie

echo $count; // Display the value of Session variable count

?> If you come back and refresh this page after a long time (how long? You can see for yourself) and the number output is 1 larger than when you left, that’s right! If it is much larger, someone may have touched your computer, and this test will be inaccurate. Haha... go out again for a while! Note: The 'PHPSESSID' in the setcookie line is not certain. If you encounter a network administrator who suffers from modification mania, he may have modified it. The best way is to use phpinfo() Take a look at this function and confirm the value of session.name, which is more scientific.

http://www.bkjia.com/PHPjc/632236.htmlwww.bkjia.comtruehttp: //www.bkjia.com/PHPjc/632236.htmlTechArticleThis article introduces several ways to set up php sessions that will never expire. The best method is not to modify the program. Because if the program is modified, the testing department will be very depressed like me, then...
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn