V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
gouchaoer
V2EX  ›  PHP

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

  •  
  •   gouchaoer · Apr 18, 2017 · 2242 views
    This topic created in 3305 days ago, the information mentioned may be changed or developed.

    很多时候 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 replies    2017-04-19 15:09:12 +08:00
    eoo
        1
    eoo  
       Apr 19, 2017 via Android
    你理解了 opcache 的作用和原理?
    zhengwenk
        2
    zhengwenk  
       Apr 19, 2017
    你就算用了 yaconf php 也要每次去执行 ch_en.php 的 opcode
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1168 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 17:46 · PVG 01:46 · LAX 10:46 · JFK 13:46
    ♥ Do have faith in what you're doing.