Home Backend Development PHP Tutorial Flash cookie completely eliminates PHP session cookie errors

Flash cookie completely eliminates PHP session cookie errors

Jul 29, 2016 am 08:40 AM

As long as you have written PHP code, I believe you have encountered this warning that is puzzling most of the time. Today we will solve it.............
 Look Refer to the PHP manual and the answer is as follows:
 Message "Warning: Cannot send session cookie - headers already sent..." or "Cannot add header information - headers already sent...".
 The functions header(), setcookie() and session functions need to add header information to the output stream. But header information can only be sent before any other output content. There cannot be any output (such as HTML) before using these functions. The function headers_sent() checks whether your script has sent headers. See "Output Control Functions".
 Meaning: Do not have any text, blank lines, carriage returns, spaces, etc. before using the above function. but. . . The problem is, this answer is unsatisfactory. Because often programs run normally in other PHP environments.
First: How does this error occur? Let’s take a look at how PHP handles HTTP header output and body output.
When the PHP script starts executing, it can send header information and body information at the same time. Header information (from header() or SetCookie() function) is not sent immediately, instead, it is saved to a list. This allows you to modify the header information, including the default header (such as the Content-Type header). However, once the script sends any non-header output (for example, using HTML or a print() call), then PHP must first send all headers and then terminate the HTTP header. Then continue to send the main data. From this point on, any attempt to add or modify header information is not allowed and one of the above error messages will be sent.
Okay! Then let’s solve it:
Stupid method: Don’t display any error warnings!
I won’t go into the specific method to cover your ears and steal the bell ^_^#
Solution:
1) Suitable for those who have permission to edit PHP. INI people
  Open php. ini file (you should know your php better than I do. Where is the ini), find
 output_buffering = and change it to on or any number. If it is IIS6, please change it to ON, otherwise your PHP efficiency will be extremely slow.
 2) When using a virtual host, PHP cannot be edited. INI, what should I do?
 Simple:
 Create one in the root directory of your space. htaccess file, the content is as follows:
 AllowOverride All
 PHP_FLAG output_buffering On
 The unfortunate situation is: Still not working? All web pages cannot be displayed?
 Then, you can call the space provider and ask him to install apache for you. htaccess AllowOverride is turned on
 3) Solve it in the PHP file
 ob_start()
 Enable the output buffering mechanism. Output buffering supports multiple levels - for example, the ob_start() function can be called multiple times.
 ob_end_flush()
 Send output buffer (output buffer) and disable the output buffering mechanism.
 ob_end_clean()
 Clear the output buffer but do not send it, and disable output buffering.
 ob_get_contents()
 Return the current output buffer into a string. Allows you to process any output emitted by the script.
 Principle:
 When output_buffering is enabled, PHP does not send HTTP headers when the script sends output. Instead, it pipes this output into a dynamically growing cache (only available in PHP 4.0, which has a centralized output mechanism). You can still modify/add headers, or set cookies, since headers are not actually sent. When all scripts terminate, PHP will automatically send HTTP headers to the browser, and then send the contents of the output buffer.

The above has introduced the flash cookie to completely eliminate PHP session cookie errors, including the content of flash cookies. I hope it will be helpful to friends who are interested in PHP tutorials.

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

Video Face Swap

Video Face Swap

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

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)

Explain JSON Web Tokens (JWT) and their use case in PHP APIs. Explain JSON Web Tokens (JWT) and their use case in PHP APIs. Apr 05, 2025 am 12:04 AM

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,

Explain the concept of late static binding in PHP. Explain the concept of late static binding in PHP. Mar 21, 2025 pm 01:33 PM

Article discusses late static binding (LSB) in PHP, introduced in PHP 5.3, allowing runtime resolution of static method calls for more flexible inheritance.Main issue: LSB vs. traditional polymorphism; LSB's practical applications and potential perfo

Describe the SOLID principles and how they apply to PHP development. Describe the SOLID principles and how they apply to PHP development. Apr 03, 2025 am 12:04 AM

The application of SOLID principle in PHP development includes: 1. Single responsibility principle (SRP): Each class is responsible for only one function. 2. Open and close principle (OCP): Changes are achieved through extension rather than modification. 3. Lisch's Substitution Principle (LSP): Subclasses can replace base classes without affecting program accuracy. 4. Interface isolation principle (ISP): Use fine-grained interfaces to avoid dependencies and unused methods. 5. Dependency inversion principle (DIP): High and low-level modules rely on abstraction and are implemented through dependency injection.

How to automatically set permissions of unixsocket after system restart? How to automatically set permissions of unixsocket after system restart? Mar 31, 2025 pm 11:54 PM

How to automatically set the permissions of unixsocket after the system restarts. Every time the system restarts, we need to execute the following command to modify the permissions of unixsocket: sudo...

How does session hijacking work and how can you mitigate it in PHP? How does session hijacking work and how can you mitigate it in PHP? Apr 06, 2025 am 12:02 AM

Session hijacking can be achieved through the following steps: 1. Obtain the session ID, 2. Use the session ID, 3. Keep the session active. The methods to prevent session hijacking in PHP include: 1. Use the session_regenerate_id() function to regenerate the session ID, 2. Store session data through the database, 3. Ensure that all session data is transmitted through HTTPS.

Explain late static binding in PHP (static::). Explain late static binding in PHP (static::). Apr 03, 2025 am 12:04 AM

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.

How to debug CLI mode in PHPStorm? How to debug CLI mode in PHPStorm? Apr 01, 2025 pm 02:57 PM

How to debug CLI mode in PHPStorm? When developing with PHPStorm, sometimes we need to debug PHP in command line interface (CLI) mode...

See all articles