


The solution and implementation method of session never expiring in PHP_PHP Tutorial
Make the PHP session never expire. You may not have encountered such a depressing problem, but I have encountered it and it was very depressing.
We developed a system in the early stage that can only be used by the company's customer service personnel - a limited number of customer service personnel. It was these limited customer service staff who suddenly raised this question a few days ago: every very short period of time (half an hour without operating the page), when we were anxious to solve the customer's problem, the system prompted that we needed to log in, which was delayed. Client’s time… This is not fun!
Customer is God, the only God. So the boss asked us to realize that the session in PHP never expires, unless our customer service staff artificially lets it expire. I don't understand this never-expiration behavior for security reasons; I really don't want to modify the previous program for laziness reasons. But there is no way, I still need to change.
The best way is not to modify the program, because if you modify the program, the testing department will be very depressed like me. Then you can only modify the system environment configuration. It is actually very simple. Open the php.ini setting file and modify the three lines as follows :
1. session.use_cookies
Set this value 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 is closed... It is because of this that the PHP session cannot be used permanently! Then we set it to a value that we think is very large. The number, how about 999999999, okay! That’s it.
3. session.gc_maxlifetime
This is the time that the Session data is stored on the server side. If this time is exceeded, the Session data will be automatically deleted! Then we 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 lose power or crash, you will still You can see this sessionid.
Of course, it is also possible that you do not have permission to control the server and are not as lucky as me to be able to modify the php.ini settings. There is 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:
<ol class="dp-c"><li class="alt"><span><span><?php </span></span></li><li><span>session_start(); </span><span class="comment">// 启动Session </span><span> </span></li><li class="alt"><span class="vars">$_SESSION</span><span>[</span><span class="string">count</span><span>]; </span><span class="comment">// 注册Session变量Count </span><span> </span></li><li><span>isset(</span><span class="vars">$PHPSESSID</span><span>)?session_id(</span><span class="vars">$PHPSESSID</span><span>):</span><span class="vars">$PHPSESSID</span><span> = session_id(); </span></li><li class="alt"><span class="comment">// 如果设置了$PHPSESSID,就将SessionID赋值为$PHPSESSID,否则生成SessionID </span><span> </span></li><li><span> </span></li><li class="alt"><span class="vars">$_SESSION</span><span>[</span><span class="string">count</span><span>]++; </span><span class="comment">// 变量count加1 </span><span> </span></li><li><span>setcookie(</span><span class="string">PHPSESSID</span><span>, </span><span class="vars">$PHPSESSID</span><span>, time()+3156000); </span><span class="comment">// 储存SessionID到Cookie中 </span><span> </span></li><li class="alt"><span class="func">echo</span><span> </span><span class="vars">$count</span><span>; </span><span class="comment">// 显示Session变量count的值 </span><span> </span></li><li><span>?> </span></span></li></ol>
If you come back and refresh this page after a long time (how long? You can see for yourself), and the output number is 1 larger than when you left, then you are right! If it is much larger, it is estimated that someone touched your computer. This The first test is not accurate, 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.

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics



PHP 8.4 brings several new features, security improvements, and performance improvements with healthy amounts of feature deprecations and removals. This guide explains how to install PHP 8.4 or upgrade to PHP 8.4 on Ubuntu, Debian, or their derivati

Visual Studio Code, also known as VS Code, is a free source code editor — or integrated development environment (IDE) — available for all major operating systems. With a large collection of extensions for many programming languages, VS Code can be c

If you are an experienced PHP developer, you might have the feeling that you’ve been there and done that already.You have developed a significant number of applications, debugged millions of lines of code, and tweaked a bunch of scripts to achieve op

This tutorial demonstrates how to efficiently process XML documents using PHP. XML (eXtensible Markup Language) is a versatile text-based markup language designed for both human readability and machine parsing. It's commonly used for data storage an

JWT is an open standard based on JSON, used to securely transmit information between parties, mainly for identity authentication and information exchange. 1. JWT consists of three parts: Header, Payload and Signature. 2. The working principle of JWT includes three steps: generating JWT, verifying JWT and parsing Payload. 3. When using JWT for authentication in PHP, JWT can be generated and verified, and user role and permission information can be included in advanced usage. 4. Common errors include signature verification failure, token expiration, and payload oversized. Debugging skills include using debugging tools and logging. 5. Performance optimization and best practices include using appropriate signature algorithms, setting validity periods reasonably,

A string is a sequence of characters, including letters, numbers, and symbols. This tutorial will learn how to calculate the number of vowels in a given string in PHP using different methods. The vowels in English are a, e, i, o, u, and they can be uppercase or lowercase. What is a vowel? Vowels are alphabetic characters that represent a specific pronunciation. There are five vowels in English, including uppercase and lowercase: a, e, i, o, u Example 1 Input: String = "Tutorialspoint" Output: 6 explain The vowels in the string "Tutorialspoint" are u, o, i, a, o, i. There are 6 yuan in total

Static binding (static::) implements late static binding (LSB) in PHP, allowing calling classes to be referenced in static contexts rather than defining classes. 1) The parsing process is performed at runtime, 2) Look up the call class in the inheritance relationship, 3) It may bring performance overhead.

What are the magic methods of PHP? PHP's magic methods include: 1.\_\_construct, used to initialize objects; 2.\_\_destruct, used to clean up resources; 3.\_\_call, handle non-existent method calls; 4.\_\_get, implement dynamic attribute access; 5.\_\_set, implement dynamic attribute settings. These methods are automatically called in certain situations, improving code flexibility and efficiency.
