V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
gouchaoer
V2EX  ›  PHP

加载 PHP 翻译文件的时候 yaconf 和 opcache 的区别

  •  
  •   gouchaoer · 2017-04-18 19:57:53 +08:00 · 1897 次点击
    这是一个创建于 2767 天前的主题,其中的信息可能已经有所发展或是发生改变。

    很多时候 php 框架里需要加载一些不变的配置信息,比如我有个中英文翻译文件 ch_en.php ,这些文件动则几百 K 上 M ,加载进 php 耗时不说还占用内存。。。 opcache 和 yaconf 成了优化这些情况的有力工具。

    yaconf 的介绍: http://www.laruence.com/2015/06/12/3051.html 通过鸟哥的介绍可以知道 yaconf 实际上就是把这种配置信息完全放在共享内存中,也就是说在 php-fpm 启动的时候就加载了 ch_en.php ,可以说是完全无消耗的。

    而 opcache 会把 ch_en.php 编译成 opcode ,实际上每次 php 请求来的时候还是会去执行以下 ch_en.php 的 opcode ,所以 cpu 和内存消耗还是很大的,我这么理解对么?

    2 条回复    2017-04-19 15:09:12 +08:00
    eoo
        1
    eoo  
       2017-04-19 01:02:23 +08:00 via Android
    你理解了 opcache 的作用和原理?
    zhengwenk
        2
    zhengwenk  
       2017-04-19 15:09:12 +08:00
    你就算用了 yaconf php 也要每次去执行 ch_en.php 的 opcode
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1892 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 16:32 · PVG 00:32 · LAX 08:32 · JFK 11:32
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.