是否缓存了本地PHP include()文件?

时间:2017-07-07 14:02:01

标签: php caching include

在做了一些研究后,我很难找到关于如何以及是否缓存PHP include()文件的明确答案。

我发现的最接近的是here,但对我来说并没有多大意义。

我有几种方法使用来自不同文件的其他方法,我想避免将include()放在文件的顶部,但我不确定这会如何影响性能。

感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

PHP是一种解释型语言。默认的PHP运行时将PHP源代码编译为一个名为PHP字节码的中间表示,然后执行该代码。字节码缓存将PHP源代码的这种编译表示存储在共享内存中。这消除了在每个请求上加载和编译源代码的需要,这导致性能显着提高(每秒多达70%的请求)。

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

  • 首先:以纯文本编写的PHP代码编译为操作码
  • 然后:执行操作码。 如果你有一个PHP脚本,只要它没有被修改,操作码将始终是相同的;因此,每次执行脚本时都要进行编译阶段,这会浪费CPU时间。

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

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

了解更多