search
HomeBackend DevelopmentPHP TutorialHow to save PHP Session in Redis

PHP supports saving sessions to redis by default without any additional code.

The command used by Redis to save the session is setex, which can be detected by real-time monitoring using redis-cli monitor.

Setex command syntax:

setex(key, time, value)

Among them, key is the key value, time is the expiration time, and value is a string type value.

Specific steps are as follows.

1. Environment

To use Redis to save a session, you must first meet the following conditions:

There must be a Redis server installed. This example uses the local server Redis, IP: 127.0.0.1, port: 6379.

PHP has installed the phpredis extension, and you can see the extension through phpinfo(), as shown below.

How to save PHP Session in Redis

PHP can access Redis normally. The test code is as follows,

<?php
    $redis = new Redis();
    $redis->connect(&#39;127.0.0.1&#39;, 6379);
    $count = $redis->exists(&#39;count&#39;) ? $redis->get(&#39;count&#39;) : 1;
    echo $count;
    $redis->set(&#39;count&#39;, ++$count);

Refresh the page. If you see the number increasing, it means the Redis environment is normal.

2. Configure PHP

After installing the Redis extension, you will see the session support handle in the phpinfo() output, which includes redis, as follows:

How to save PHP Session in Redis

One thing to note is that the maximum expiration time of Redis is 2147483647, which is 7fffffff in hexadecimal.

So, the value of the recycling time session.gc_maxlifetime in the session configuration cannot exceed this number.

Otherwise, when Redis uses the setex command to save the session, the expiration time will be a negative number, which is equivalent to directly deleting the key.

Not only will the saving fail, PHP will also return the following error:

Warning: Unknown: Failed to write session data (redis). Please verify that the current setting of session.save_path is correct (127.0.0.1:6379) in Unknown on line 0

Next, modify the PHP configuration. There are three methods in total. Just choose one of the following:

2.1 Modify php.ini

Open the php.ini file and set the following two values:

session.save_handler = redis
session.save_path = "tcp://127.0.0.1:6379"

If Redis has a password, use the following configuration:

session.save_path = "tcp://127.0.0.1:6379?auth=password"

After the configuration is completed, restart PHP-FPM.

2.2 Modify php-fpm.conf

PHP-FPM configuration file /etc/php-fpm.conf or /etc/php-fpm.d/* In .conf, there is also session configuration.

Their session configuration has a higher priority than php.ini and will override the configuration in php.ini.

So, change it directly here:

php_value[session.save_handler] = redis
php_value[session.save_path] = "tcp://127.0.0.1:6379"

If you use the php.ini configuration, you need to comment out these two lines with;.

Then restart PHP-FPM

2.3 PHP code

You can also configure the session in the running PHP code, as follows.

ini_set(&#39;session.save_handler&#39;, &#39;redis&#39;);
ini_set(&#39;session.save_path&#39;, &#39;tcp://127.0.0.1:6379&#39;);

3. Test

Write a piece of PHP test code, as follows:

session_start();
$count = isset($_SESSION[&#39;count&#39;]) ? $_SESSION[&#39;count&#39;] : 1;
echo $count;
$_SESSION[&#39;count&#39;] = ++$count;

If you refresh the page and see that the numbers continue to increase, it means configuring Redis to save session successful.

php Chinese network learning topic: php session (including pictures, videos, cases)

The above is the detailed content of How to save PHP Session in Redis. For more information, please follow other related articles on the PHP Chinese website!

Statement
This article is reproduced at:歪麦博客. If there is any infringement, please contact admin@php.cn delete
Optimize PHP Code: Reducing Memory Usage & Execution TimeOptimize PHP Code: Reducing Memory Usage & Execution TimeMay 10, 2025 am 12:04 AM

TooptimizePHPcodeforreducedmemoryusageandexecutiontime,followthesesteps:1)Usereferencesinsteadofcopyinglargedatastructurestoreducememoryconsumption.2)LeveragePHP'sbuilt-infunctionslikearray_mapforfasterexecution.3)Implementcachingmechanisms,suchasAPC

PHP Email: Step-by-Step Sending GuidePHP Email: Step-by-Step Sending GuideMay 09, 2025 am 12:14 AM

PHPisusedforsendingemailsduetoitsintegrationwithservermailservicesandexternalSMTPproviders,automatingnotificationsandmarketingcampaigns.1)SetupyourPHPenvironmentwithawebserverandPHP,ensuringthemailfunctionisenabled.2)UseabasicscriptwithPHP'smailfunct

How to Send Email via PHP: Examples & CodeHow to Send Email via PHP: Examples & CodeMay 09, 2025 am 12:13 AM

The best way to send emails is to use the PHPMailer library. 1) Using the mail() function is simple but unreliable, which may cause emails to enter spam or cannot be delivered. 2) PHPMailer provides better control and reliability, and supports HTML mail, attachments and SMTP authentication. 3) Make sure SMTP settings are configured correctly and encryption (such as STARTTLS or SSL/TLS) is used to enhance security. 4) For large amounts of emails, consider using a mail queue system to optimize performance.

Advanced PHP Email: Custom Headers & FeaturesAdvanced PHP Email: Custom Headers & FeaturesMay 09, 2025 am 12:13 AM

CustomheadersandadvancedfeaturesinPHPemailenhancefunctionalityandreliability.1)Customheadersaddmetadatafortrackingandcategorization.2)HTMLemailsallowformattingandinteractivity.3)AttachmentscanbesentusinglibrarieslikePHPMailer.4)SMTPauthenticationimpr

Guide to Sending Emails with PHP & SMTPGuide to Sending Emails with PHP & SMTPMay 09, 2025 am 12:06 AM

Sending mail using PHP and SMTP can be achieved through the PHPMailer library. 1) Install and configure PHPMailer, 2) Set SMTP server details, 3) Define the email content, 4) Send emails and handle errors. Use this method to ensure the reliability and security of emails.

What is the best way to send an email using PHP?What is the best way to send an email using PHP?May 08, 2025 am 12:21 AM

ThebestapproachforsendingemailsinPHPisusingthePHPMailerlibraryduetoitsreliability,featurerichness,andeaseofuse.PHPMailersupportsSMTP,providesdetailederrorhandling,allowssendingHTMLandplaintextemails,supportsattachments,andenhancessecurity.Foroptimalu

Best Practices for Dependency Injection in PHPBest Practices for Dependency Injection in PHPMay 08, 2025 am 12:21 AM

The reason for using Dependency Injection (DI) is that it promotes loose coupling, testability, and maintainability of the code. 1) Use constructor to inject dependencies, 2) Avoid using service locators, 3) Use dependency injection containers to manage dependencies, 4) Improve testability through injecting dependencies, 5) Avoid over-injection dependencies, 6) Consider the impact of DI on performance.

PHP performance tuning tips and tricksPHP performance tuning tips and tricksMay 08, 2025 am 12:20 AM

PHPperformancetuningiscrucialbecauseitenhancesspeedandefficiency,whicharevitalforwebapplications.1)CachingwithAPCureducesdatabaseloadandimprovesresponsetimes.2)Optimizingdatabasequeriesbyselectingnecessarycolumnsandusingindexingspeedsupdataretrieval.

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser is a secure browser environment for taking online exams securely. This software turns any computer into a secure workstation. It controls access to any utility and prevents students from using unauthorized resources.

EditPlus Chinese cracked version

EditPlus Chinese cracked version

Small size, syntax highlighting, does not support code prompt function

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Powerful PHP integrated development environment

PhpStorm Mac version

PhpStorm Mac version

The latest (2018.2.1) professional PHP integrated development tool

WebStorm Mac version

WebStorm Mac version

Useful JavaScript development tools