Home >Backend Development >PHP Tutorial >Detailed explanation of how to speed up your site by flushing PHP buffers
This article mainly introduces the very practical tips that can be used to speed up your site by refreshing the PHP buffer. Friends in need can refer to it. I hope to be helpful.
In the default configuration of the current PHP version, "Output Buffering" is turned on. This is not the case in older versions of PHP. In older versions of PHP, every time a string is output (through the echo or print function), it will trigger an action sent to the client browser.
The introduction of "output buffering" makes this process faster and more efficient. The buffer actually opens up an area in the memory, which can be thought of as a large string in the memory. When there are characters to be output in the program, the content to be output will be appended to the buffer, which is used to replace the method of outputting directly to the browser every time in the old version of PHP. When the buffer is "refreshed", it is uniformly input to the user's browser. In the following situations, will cause the "refresh" operation of the buffer:
1. The PHP program is executed;
2. The size of the buffer exceeds the output_buffering value set in the php.ini configuration file ;
3. When the flush() or ob_flush() function is called.
In the actual production environment, we can speed up your site by refreshing the PHP buffer immediately after the head tag. The sample code is as follows:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <title>Buffer flushing in action</title> <link rel="stylesheet" type="text/css" href="styles.css" /> <link rel="shortcut icon" href="favicon.ico" /> </head> <?php // 这里强制刷新缓冲区 flush(); ?> <body> ...
Next, let’s explain the function of the above code:
When the browser receives the code in the head part of the page, it can start downloading the resources included in the head section, such as CSS files, site favorite icons (Favicon )wait. The downloading of these contents can be synchronized with the time when the browser accepts the content of the body segment.
How much it can be accelerated depends on local conditions. This depends on many objective conditions, including the response speed of the server, the size of your page, the size and number of your CSS files, whether the browser has a local cache, etc. Of course there are many factors, but such a small optimization can obviously speed up your site. Why not do it?
Related recommendations:
Detailed explanation of the usage of $map in ThinkPHP
Detailed explanation of how PHP implements a simple search box automatic prompt function
Detailed explanation of how PHP implements Sudoku solving
The above is the detailed content of Detailed explanation of how to speed up your site by flushing PHP buffers. For more information, please follow other related articles on the PHP Chinese website!