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

2017-04-18 19:57:53 +08:00
 gouchaoer

很多时候 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 和内存消耗还是很大的,我这么理解对么?

1827 次点击
所在节点    PHP
2 条回复
eoo
2017-04-19 01:02:23 +08:00
你理解了 opcache 的作用和原理?
zhengwenk
2017-04-19 15:09:12 +08:00
你就算用了 yaconf php 也要每次去执行 ch_en.php 的 opcode

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/355721

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX