对于 PHP 页面静态化的疑问 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
DannyZeng
V2EX    程序员

对于 PHP 页面静态化的疑问

  •  
  •   DannyZeng 2019-07-31 21:57:10 +08:00 3165 次点击
    这是一个创建于 2332 天前的主题,其中的信息可能已经有所发展或是发生改变。

    找了下资料,两个方向,一个是模板,一个是 ob 函数。模板由于现在的趋势是前后端分离,基本淘汰了。ob 函数一搜的话,又都是几年前的,近一两年的少。 问题:就目前的工作情况中,页面静态化是否被淡化或者说由于其他方面性能的提升被弱化了?(我只是想偷下懒,如果不重要我就不学了)

    15 条回复    2019-08-01 13:19:16 +08:00
    starsriver
        1
    starsriver  
       2019-07-31 22:20:17 +08:00 via Android
    php 不是纯后台语言吗?(狗头)
    当个中间件就好了嘛。
    静态的东西给前端
    TangMonk
        2
    TangMonk  
       2019-07-31 22:25:44 +08:00 via iPhone
    Ngnix 直接缓存就好了吧
    kina100
        3
    kina100  
       2019-07-31 22:27:14 +08:00
    没有,静态化依然是提升性能极为重要的一个功能,只是现在这样类似于新闻门户的网站不多了,越来越多的流量被微信啊,头条啊拿走了,大浪淘沙后,单纯的网站吧,小站在不被爆破的情况下静态化体现不出来,大战你静态化也一样被挤爆,都是 cdn 的。
    areless
        4
    areless  
       2019-07-31 22:47:40 +08:00 via Android
    你放心好了,等前端娱乐圈熄火了。页面静态化又会回来的~~~到时候换个更酷炫的名字:PHPGPU 纯静态 web 渲染 cache
    akira
        5
    akira  
       2019-07-31 22:54:23 +08:00
    大部分网站的负荷之低 以至于完全不需要静态化

    做好伪静态,前面套个 CDN,nginx 配置下缓存,基本上也都能对付过去了
    simonlu9
        6
    simonlu9  
       2019-07-31 22:57:43 +08:00
    对应前后端分离,不需要静态页面,静态页面都是针对于门户,论坛,seo 友好化,访问加速
    zjsxwc
        7
    zjsxwc  
       2019-07-31 22:58:08 +08:00 via Android
    翻译下楼主的话:

    php 输出 html 的疑惑
    找了下资料,两个方向,一个是模板输出 html,一个是 ob 函数输出 html。 由于前后端分离,服务端输出 html 的方式现在已经被淘汰了。 问题:就目前的工作情况中,服务端返回 html 是否被淡化或者说由于其他方面性能的提升被弱化了?(我只是想偷下懒,如果不重要我就不学了)
    GG668v26Fd55CP5W
        8
    GG668v26Fd55CP5W  
       2019-07-31 22:58:26 +08:00 via iPhone
    类似超级缓存,用得好可以极大的减少对 MySQL 和 php 的压力。织梦有个生成 html 的功能,WordPress 有个 advanced cache。
    hostpai
        9
    hostpai  
       2019-07-31 22:58:31 +08:00
    访问量不大的情况下,静态没啥用,对网站没啥作用,现在搜索引擎对静态动态的抓取没什么区别。
    GG668v26Fd55CP5W
        10
    GG668v26Fd55CP5W  
       2019-07-31 23:02:35 +08:00 via iPhone
    感觉楼主说的是服务器渲染,和我说的不是一个东西
    jugelizi
        11
    jugelizi  
       2019-07-31 23:32:56 +08:00
    前后端分离 接口数据进缓存呗
    2kCS5c0b0ITXE5k2
        12
    2kCS5c0b0ITXE5k2  
       2019-07-31 23:56:46 +08:00
    瓶颈不都是先出现在数据库上的吗 返回数据做缓存
    ducklyl
        13
    ducklyl  
       2019-08-01 09:02:06 +08:00
    前后端分离,后端就没必要缓存 html,可以考虑在后端数据接口做缓存,效果一样。比如在 php 与 db 之前,可以缓存。
    jabin88
        14
    jabin88  
       2019-08-01 12:39:42 +08:00
    前后端分离 接口通过 cdn 缓存,这个方式可以吗
    jevonszmx
        15
    jevonszmx  
       2019-08-01 13:19:16 +08:00
    其实没必要让 php 去处理这个,缺点很明显:
    1、程序要做很多工作,必然会有性能损失;
    2、数据更新不及时(类似新闻页这种,如果有几百上千万页,Q Q ),改动不灵活;

    建议在 web 服务器前端,再采用 varnish 来做一层缓存,然后配置好 varnish 规则,就可以解决静态化的问题.

    需要注意的点:
    使用 varnish 静态化的页面,尽量不要使用 cookie/post,如果需要,请把页面动态的地方拆出来(比如页面顶部登录 /未登录显示不一样),用 ajax 实现;或者缓存规则中加入更多条件,包括 url 参数和 cookie ;
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5042 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 34ms UTC 06:01 PVG 14:01 LAX 22:01 JFK 01:01
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86