How to optimize page response time:
If some content in the page does not change frequently, you can use dynamic page staticization. The benefits are: reducing the calculation time of the server script; reducing the server's response time.
1. Dynamic URL address setting static form (pseudo-static)
For example: http://xxx.com/index.php?c=play&id=1111 =>
http://xxx.com/play/1111.html (not a purely static page)
2, buffer
buffer is actually a buffer, a memory address space, mainly used to store data areas.
Write a buffer.php file and save it. It does not save the file content directly on the disk, but writes the content into the buffer first. When a buffer is full, the data in the buffer will be written Into the disk, this is the buffer of the operating system.
When executing a PHP program, if there is output content, it will be put into the output buffer first, and then the data will be transmitted to the client or browser through tcp.
To put data into the output buffer, first turn on the output buffer, pass the php.ini file output_buffering = On or ob_start(), and then use ob_get_contents() to get the output buffer content.
3. PHP realizes pure static page
Purely static html files are placed on the server-side disk.
Basic method:
int file_put_contents ( string $filename
, mixed $data
[, int $flags
= 0 [, resource $context
]] )
Success will return the number of bytes of data written to the file. Returns false on failure.
ob function
ob_start(); Open the output buffer
ob_get_contents(void); Returns the output buffer contents
ob_clean(void); Clear the output buffer
Ob_get_clean(void); Get the contents of the current buffer and delete the current output buffer
Three ways to generate pure static pages:
<?<span>php<br />//存在index.html并且在有效时间以内(5分钟) </span><span>if</span> (<span>file_exists</span>('index.html') && (<span>time</span>()-<span>filemtime</span>('index.html') < 300<span>)) { </span><span>require_once</span> 'index.html'<span>; }</span><span>else</span><span>{ </span><span>ob_start</span><span>(); </span><span>//</span><span>连接数据库获取数据并填充到模板</span> <span>echo</span> 'helllo world'<span>; </span><span>file_put_contents</span>('index.html', <span>ob_get_contents</span><span>()); } </span>?>
Manually set in the background and automatically generated
Crontab -e //Edit a crontab file, the file content is as follows: */5 * * * * Directory where the php execution program is located /xx/xx.php
http://www.cnblogs.com/peida/archive/2013/01/08/2850483.html
4. Pseudo-static
PHP handles pseudo-static: regular expression matching
<span>//</span><span>http://xxx.cn/xx/test4.php/2/11.html //http://xxx.cn/xx/test4.php?page=2&id=1,实际的访问路径</span> <span>if</span>(<span>preg_match</span>('/\/(\d+)\/(\d+).html/', <span>$_SERVER</span>['PATH_INFO'], <span>$matches</span><span>)){ </span><span>$param</span>['page'] = <span>$matches</span>[1<span>]; </span><span>$param</span>['id'] = <span>$matches</span>[2<span>]; }</span>
rewrite configuration under Apache :
http://myapps.com/detail/12.html ==> http://myapps.com/apps/detail.php?id=12 (actual access path)
httpd.conf file: Enable LoadModule rewrite_module modules/mod_rewrite.so
extra/httpd-vhosts.conf file is configured as follows:
ServerAdmin webmaster@dummy-host2.example.com
DocumentRoot "D:/wamp/www/myProject"
ServerName myapps.com
ErrorLog "logs/dummy-host2.example.com-error.log"
CustomLog "logs/dummy-host2.example.com-access.log" common
RewriteEngine on
#If there is a 12.html file in the detail directory, access the file in that directory first
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_FILENAME} !-d
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_FILENAME} ! -f
RewriteRule ^/detail/([0-9]*).html$ /apps/detail.php?id=$1
http://www.onexin.net/apache-rewrite-detailed/