Home Backend Development PHP Tutorial [PHP] Detailed explanation of session storage method_PHP tutorial

[PHP] Detailed explanation of session storage method_PHP tutorial

Jul 14, 2016 am 10:09 AM
php session start session storage turn on hand Way confirm automatic Detailed explanation still pass need first

First confirm whether the session is opened automatically or needs to be opened manually through session_start():

; Specifies whether the session module automatically starts a session when the request starts. Default is 0 (do not start)
; Initialize session on request startup.
; http://php.net/session.auto-start
session.auto_start = 0
Client Storage
On the client side, sessions can be stored in cookies or retrieved via URL parameters. Dependent on server configuration:
; Specifies whether to use a cookie to store the session ID on the client side. Default is 1 (enabled)
; Whether to use cookies.
; http://php.net/session.use-cookies
session.use_cookies = 1
; Specifies whether to only use a cookie to store the session ID on the client side. . Enabling this setting prevents attacks involving session IDs being passed through URLs.
; This option forces PHP to fetch and use a cookie for storing and maintaining
; the session id. We encourage this operation as it's very helpful in combatting
; session hijacking when not specifying and managing your own session id. It is
; not the end all be all of session hijacking defense, but it's a good start.
; http://php.net/session.use-only-cookies
session.use_only_cookies = 1
If you confirm that it is stored in the cookie, you can further configure the configuration of the session stored in the cookie, such as cookie_name, cookie_lifetime, cookie_path, cookie_domain, cookie_secure, cookie_httponly
; Name of the session (used as cookie name).
; http://php.net/session.name
session.name = PHPSESSID
; Lifetime in seconds of cookie or, if 0, until browser is restarted.
; http://php.net/session.cookie-lifetime
session.cookie_lifetime = 0
; The path for which the cookie is valid.
; http://php.net/session.cookie-path
session.cookie_path = /
; The domain for which the cookie is valid.
; http://php.net/session.cookie-domain
session.cookie_domain =
; Whether or not to add the httpOnly flag to the cookie, which makes it inaccessible to browser scripting languages ​​such as JavaScript.
; http://php.net/session.cookie-httponly
session.cookie_httponly =
Server Side Storage
On the server side, sessions can also be stored in various ways. The default session is stored in a file, and session.save_path is the path to create the storage file.
; Handler used to store/retrieve data.
; http://php.net/session.save-handler
session.save_handler = files
; Argument passed to save_handler. In the case of files, this is the path
; where data files are stored. Note: Windows users have to change this
; variable in order to use PHP's session functions.
;
; The path can be defined as:
;
; session.save_path = "N;/path"
;
; where N is an integer. Instead of storing all the session files in
; /path, what this will do is use subdirectories N-levels deep, and
; store the session data in those directories. This is useful if you
; or your OS have problems with lots of files in one directory, and is
; a more efficient layout for servers that handle lots of sessions.
;
; NOTE 1: PHP will not create this directory structure automatically.
; You can use the script in the ext/session dir for that purpose.
; NOTE 2: See the section on garbage collection below if you choose to
; Use subdirectories for session storage
;
; The file storage module creates files using mode 600 by default.
; You can change that by using
;
; session.save_path = "N;MODE;/path"
;
; where MODE is the octal representation of the mode. Note that this
; does not overwrite the process's umask.
; http://php.net/session.save-path
;session.save_path = "/tmp"
PHP supports session_set_save_handler to implement custom open, close, read, write, destroy, gc processing functions of the session processor. Common session processors include the use of memory allocation (such as mm, memcache, etc.), which can also be used Database for storage. It can be seen that if the session storage needs to work together with the file system (such as using the database PostgreSQL Session Save Handler or the default file storage files), it may cause the user-customized session processor to lose the session that does not store data. If you use memory allocation storage, you need to consider the issue of session persistent storage.
Next, we will focus on the memcache(d?) session processor.
The Memcache module provides convenient process-oriented and object-oriented interfaces to memcached. Memcached is a resident process cache product produced to reduce the load of data from the database by dynamic web applications.
The Memcache module also provides a session processor (memcache).
For more information about memcached, please see » http://www.memcached.org/.
Memcached is a high-performance distributed memory object caching system, which is usually used to reduce database loading pressure to improve the response speed of dynamic web applications.
This extension uses the API provided by the libmemcached library to interact with the memcached server. It also provides a session handler (memcached). It also provides a session processor (memcached).
More information about libmemcached can be viewed at » http://libmemcached.org/libMemcached.html.
memcache session handler configuration:
session.save_handler = memcache
session.save_path = "tcp://127.0.0.1:11211?persistent=0&weight=1&timeout=1&retry_interval=15,tcp://127.0.0.1:11212?persistent=0&weight=1&timeout=1&retry_interval=15,tcp: //127.0.0.1:11213?persistent=0&weight=1&timeout=1&retry_interval=15,tcp://127.0.0.1:11214?persistent=0&weight=1&timeout=1&retry_interval=15"

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/477646.htmlTechArticleFirst confirm whether the session is automatically opened or needs to be opened manually through session_start(): ; Specify whether the session module is requested to start Automatically start a session. Default is 0 (do not start)...
Statement of this Website
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

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

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
2 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
Repo: How To Revive Teammates
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: How To Get Giant Seeds
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

CakePHP Project Configuration CakePHP Project Configuration Sep 10, 2024 pm 05:25 PM

In this chapter, we will understand the Environment Variables, General Configuration, Database Configuration and Email Configuration in CakePHP.

PHP 8.4 Installation and Upgrade guide for Ubuntu and Debian PHP 8.4 Installation and Upgrade guide for Ubuntu and Debian Dec 24, 2024 pm 04:42 PM

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

CakePHP Date and Time CakePHP Date and Time Sep 10, 2024 pm 05:27 PM

To work with date and time in cakephp4, we are going to make use of the available FrozenTime class.

CakePHP File upload CakePHP File upload Sep 10, 2024 pm 05:27 PM

To work on file upload we are going to use the form helper. Here, is an example for file upload.

CakePHP Routing CakePHP Routing Sep 10, 2024 pm 05:25 PM

In this chapter, we are going to learn the following topics related to routing ?

Discuss CakePHP Discuss CakePHP Sep 10, 2024 pm 05:28 PM

CakePHP is an open-source framework for PHP. It is intended to make developing, deploying and maintaining applications much easier. CakePHP is based on a MVC-like architecture that is both powerful and easy to grasp. Models, Views, and Controllers gu

How To Set Up Visual Studio Code (VS Code) for PHP Development How To Set Up Visual Studio Code (VS Code) for PHP Development Dec 20, 2024 am 11:31 AM

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

CakePHP Creating Validators CakePHP Creating Validators Sep 10, 2024 pm 05:26 PM

Validator can be created by adding the following two lines in the controller.

See all articles