Home > Backend Development > PHP Tutorial > Static php page, static php page_PHP tutorial

Static php page, static php page_PHP tutorial

WBOY
Release: 2016-07-12 08:59:44
Original
967 people have browsed it

Static php page, static php page

How to optimize page response time:

  • Staticization of dynamic pages
  • Optimize database
  • Use load balancing
  • Use caching

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:

  • file_put_contents() function;

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.

  • Use PHP’s built-in caching mechanism to achieve page staticization-output_buffering

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:

  • Add cache time to page
<?<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>?>
Copy after login
  • Manual trigger

Manually set in the background and automatically generated

  • Linux crontab scheduled scan program

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>
Copy after login

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/

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/1096610.htmlTechArticlePHP page staticization, how to optimize page response time with php page staticization: Dynamic page staticization optimization database use load balancing use Caching If some content on the page does not change often...
Related labels:
php
source:php.cn
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
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template