什么是字节码缓存,如何在PHP中使用一个?

2022-08-30 16:39:15

我在网上搜索,了解到PHP代码可以编译以提高性能。但是怎么做呢?我可以编译过程和面向对象的PHP代码吗?


答案 1

执行PHP脚本时的基本思想分为两个步骤:

  • 首先:用纯文本编写的PHP代码被编译为操作码
  • 然后:执行这些操作码


当你有一个PHP脚本时,只要不修改,操作码将始终相同;因此,每次执行该脚本时执行编译阶段都是浪费CPU时间。

为了防止这种冗余编译,您可以使用一些操作码缓存机制。

一旦PHP脚本被编译成操作码,这些操作码将保存在RAM中 - 并在下次执行脚本时直接从内存中使用;防止编译一次又一次地完成。


使用最多的操作码缓存是APC - 替代PHP缓存

一旦APC被正确安装和配置,你就不需要修改PHP代码:APC将缓存操作码,仅此而已 - 该过程对您的应用程序是完全不可见的。


答案 2

但是怎么做呢?

容易。
首先,您必须进行一些分析,以确保代码解析成为您网站的瓶颈,并且所有其他明显的问题(例如未优化的数据存储,缓慢的算法,数据挖掘和网络调用)都已优化。

确定是否需要操作码缓存的最简单方法是将此行放在最常用页面的最顶部

$timer_start = microtime(1);

最后是这行:

echo "Generated in ".(round((microtime(1) - $timer_start),4))." sec.";

如果时间大于 ,则首先需要优化其他内容,因为您会注意到操作码缓存没有影响。0.01


推荐