Home >Backend Development >PHP Tutorial >PHP buffer speeds up your web site detailed analysis

PHP buffer speeds up your web site detailed analysis

黄舟
黄舟Original
2017-03-21 10:01:321102browse

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, string is output every time (through echo or print function), 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. The following situations will cause the "refresh" operation of the buffer:

  1. PHP program execution is completed;

  2. The size of the cache area exceeds The output_buffering value set in the php.ini configuration file;

  3. 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> 
<head> 
<meta charset="UTF-8" /> 
<title>Coder for php</title> 
<link rel="stylesheet" type="text/css" href="styles.css" /> 
<link rel="shortcut icon" href="favicon.ico" /> 
</head> 
<?php 
// 这里强制刷新缓冲区 
flush(); 
?> 
<body> 
...

(If your site is using WordPress, you should put similar code in the header.php file of your WordPress template.)
The following explains the function of the above code:
When the browser When receiving the code in the head section of the page, you can start downloading the resources included in the head section, such as CSS files, site favorite icons (Favicon), etc. 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?
I really hope you can apply this little trick to your own website and track the actual results. Looking forward to your feedback.

The above is the detailed content of PHP buffer speeds up your web site detailed analysis. For more information, please follow other related articles on the PHP Chinese website!

Statement:
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