我的编程空间,编程开发者的网络收藏夹
学习永远不晚

php静态化指的是什么

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

php静态化指的是什么

本篇内容主要讲解“php静态化指的是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“php静态化指的是什么”吧!

PHP静态化就是使网站生成页面以静态HTML的形式展现在访客面前;PHP静态化分纯静态化和伪静态化,两者的区别在于PHP生成静态页面的处理机制不同。纯静态化是把PHP生成的动态页面保存成静态的html文件,用户访问该静态页面,而不是用户每一次访问都重新生成一张相同的网页,可以减小服务器开销。伪静态化是指将动态页面的url地址转换成类似于静态页面的url地址,便于搜索引擎的收录。

什么是PHP静态化

PHP静态化的简单理解就是使网站生成页面以静态HTML的形式展现在访客面前,PHP静态化分纯静态化和伪静态化,两者的区别在于PHP生成静态页面的处理机制不同。

纯静态化:是把PHP生成的动态页面保存成静态的html文件,用户访问该静态页面,而不是用户每一次访问都重新生成一张相同的网页

优点就是减小服务器开销,

如果细分纯静态,那么可以分为“局部纯静态”、“全部纯静态”:

  • 局部静态化:是生成的静态文件中,有局部的数据还是通过ajax技术动态获取的;

  • 完全静态化:即不存在动态获取数据的情况,所以内容都来自静态的html页面

伪静态化:是指将动态页面的url地址转换成类似于静态页面的url地址的过程

伪静态化其实还是动态访问,其实质是动态生成数据,你访问的网址类似于"http://yourhost,com/index/post/12",是一个静态地址,该地址多见于博客地址,但伪静态化中,你访问的网址实际上经过服务器解析,还是会解析成类似于"http://yourhost,com/?c=index&a=post&id=12"的地址,所以称之为伪静态化

伪静态的优点:美观;便于搜索引擎收录

PHP伪静态:利用Apache mod_rewrite实现URL重写的方法。

为什么要让网页静态化

一、加快页面打开浏览速度,静态页面无需连接数据库打开速度较动态页面有明显提高;

二、有利于搜索引擎优化SEO,Baidu、Google都会优先收录静态页面,不仅被收录的快还收录的全;

三、减轻服务器负担,浏览网页无需调用系统数据库;

四、网站更安全,HTML页面不会受php相关漏洞的影响; 观看一下大一点的网站基本全是静态页面,而且可以减少攻击,防sql注入。

数据库出错时,不影响网站正常访问。

生成html文章虽操作上麻烦些,程序上繁杂些,但为了更利于搜索,为了速度更快些,更安全,这些牺牲还是值得的。

PHP生成静态HTML页面的方法

利用PHP模板生成静态页面

PHP模板实现静态化非常方便,比如安装和使用PHP Smarty实现网站静态化,也可以自己写一套模板解析规则,常见的可以模仿各类cms的模板规则。

使用PHP文件读写功能与ob缓存机制生成静态页面

比如某个商品的动态详情页地址是: http://xxx.com?goods.php?gid=112

那么这里我们根据这个地址读取一次这个详情页的内容,然后保存为静态页,下次有人访问这个商品详情页动态地址时,我们可以

直接把已生成好的对应静态内容文件输出出来。

<?php$gid = $_GET [ 'gid' ]+0; //商品id$goods_statis_file = "goods_file_" . $gid . ".html" ; //对应静态页文件$expr = 3600*24*10; //静态文件有效期,十天if ( file_exists ( $goods_statis_file )){   $file_ctime = filectime ( $goods_statis_file ); //文件创建时间      if ( $file_ctime + $expr -->time()){ //如果没过期       echo file_get_contents ( $goods_statis_file ); //输出静态文件内容          exit ;      } else { //如果已过期          unlink( $goods_statis_file ); //删除过期的静态页文件          ob_start();               //从数据库读取数据,并赋值给相关变量               //include ("xxx.html");//加载对应的商品详情页模板               $content = ob_get_contents(); //把详情页内容赋值给$content变量             file_put_contents ( $goods_statis_file , $content ); //写入内容到对应静态文件中             ob_end_flush(); //输出商品详情页信息      }} else {  ob_start();    //从数据库读取数据,并赋值给相关变量    //include ("xxx.html");//加载对应的商品详情页模板    $content = ob_get_contents(); //把详情页内容赋值给$content变量  file_put_contents ( $goods_statis_file , $content ); //写入内容到对应静态文件中  ob_end_flush(); //输出商品详情页信息  }  ?>

2、使用nosql从内存中读取内容(其实这个已经不算静态化了而是缓存);

以memcache为例:

<?php$gid = $_GET [ 'gid' ]+0; //商品id$goods_statis_content = "goods_content_" . $gid ; //对应键$expr = 3600*24*10; //有效期,十天  $mem = new Memcache;$mem --->connect( 'memcache_host' , 11211);  $mem_goods_content = $mem ->get( $goods_statis_content );      if ( $mem_goods_content ){   echo $mem_goods_content ;} else {  ob_start();    //从数据库读取数据,并赋值给相关变量    //include ("xxx.html");//加载对应的商品详情页模板    $content = ob_get_contents(); //把详情页内容赋值给$content变量  $mem ->add( $goods_statis_content , $content , false, $expr );  ob_end_flush(); //输出商品详情页信息  }  ?>

memcached是键值一一对应,key默认最大不能超过128个字节,value默认大小是1M,因此1M大小满足大多数网页大小的存储。

到此,相信大家对“php静态化指的是什么”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

php静态化指的是什么

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

php静态化指的是什么

本篇内容主要讲解“php静态化指的是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“php静态化指的是什么”吧!PHP静态化就是使网站生成页面以静态HTML的形式展现在访客面前;PHP静态化分
2023-07-04

php页面静态化指的是什么

这篇“php页面静态化指的是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“php页面静态化指的是什么”文章吧。php页面
2023-06-30

php页面静态化是什么意思

php页面静态化有两种意思:1、把PHP动态页面保存成静态的html文件,用户访问该静态页面,而不是用户每一次访问都重新生成一张相同的网页,可以减小服务器开销;2、将动态页面的url地址转换成类似于静态页面的url地址,便于搜索引擎的收录。
2019-07-31

PHP页面静态化的优缺点是什么

这篇文章主要介绍“PHP页面静态化的优缺点是什么”,在日常操作中,相信很多人在PHP页面静态化的优缺点是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”PHP页面静态化的优缺点是什么”的疑惑有所帮助!接下来
2023-07-05

php中的静态属性和静态方法是什么

在php中,通过static关键字修饰的成员属性和成员方法被称为静态属性和静态方法,访问静态属性和静态方法的语法“类名::$静态属性”和“类名::静态方法()”。
2021-03-06

PHP中什么是静态以及静态属性和静态方法是什么意思

本篇内容主要讲解“PHP中什么是静态以及静态属性和静态方法是什么意思”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“PHP中什么是静态以及静态属性和静态方法是什么意思”吧!静态是什么?我们之前讲到
2023-06-20

java中静态变量指的是什么

小编给大家分享一下java中静态变量指的是什么,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Java的优点是什么1. 简单,只需理解基本的概念,就可以编写适合于各
2023-06-14

php缓存技术和静态化的特点是什么

PHP缓存技术和静态化的特点如下:PHP缓存技术的特点:提高网站性能:通过缓存PHP脚本的执行结果,减少数据库查询和服务器负载,从而加快网站的响应速度。减少数据库访问:缓存技术可以避免频繁地查询数据库,从而减少数据库的负载,提高网站的并发
2023-10-27

php中什么是静态变量

这篇文章主要介绍了php中什么是静态变量,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。什么是静态变量:在函数内部使用static声明得变量就是静态变量;静态变量的特征:静态变
2023-06-15

php方法中的静态变量是什么

php中的静态变量只存在于函数作用域内,也就是说,静态变量只存活在栈中;在PHP中只要在变量前加上关键字static,该变量就成为静态变量了。
2017-05-04

PHP中静态方法的特点是什么

小编给大家分享一下PHP中静态方法的特点是什么,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!PHP中静态方法的特点是:1、静态方法使用static关键字修饰;2、
2023-06-27

java静态map初始化的方法是什么

在Java中,静态Map可以通过静态代码块或静态方法进行初始化。1. 使用静态代码块:```javapublic class MyClass {private static Map map;static {map = new HashMap
2023-10-12

c#静态类初始化的方法是什么

在C#中,静态类的初始化方法是使用静态构造函数。静态构造函数在类被加载时自动调用,无需手动调用。静态构造函数一般用于初始化静态变量和执行一些初始化操作。静态构造函数的声明形式为:static 类名(){}。在静态类中只能有一个静态构造函数,
c#静态类初始化的方法是什么
2024-03-02

PHP 函数的静态变量机制是什么?

php 函数的静态变量机制允许变量在函数调用之间保留其值,从而实现以下功能:保留函数调用之间的状态。避免创建重复的变量。简化代码。PHP 函数的静态变量机制简介静态变量是一种特殊的变量作用域,只存在于函数内部,在每次调用函数时保留其值。
PHP 函数的静态变量机制是什么?
2024-04-10

php使用静态方法的原因是什么

这篇文章将为大家详细讲解有关php使用静态方法的原因是什么,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。在PHP中,使用静态方法是因为不需要所在类被实例化就可以直接使用,静态方法和静态变量创建后始终使用同
2023-06-29

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录