【发布时间】:2019-09-09 00:59:40
【问题描述】:
我有许多类和 php 文件包含在另一个 php 文件中。我使用 OPcache,但我怀疑它不会缓存所有包含的 php 文件。真的吗?如果是,那么如何打开这个文件缓存呢?
【问题讨论】:
我有许多类和 php 文件包含在另一个 php 文件中。我使用 OPcache,但我怀疑它不会缓存所有包含的 php 文件。真的吗?如果是,那么如何打开这个文件缓存呢?
【问题讨论】:
通常我们使用 Opcache 来缓存编译后的操作码,这样当同一个脚本运行时,它就不会再次编译脚本并从缓存中提供它。
为此,您必须在 php.ini 中启用 Opcache,这将影响您的整个应用程序。
opcache.enable = 1;
如果您想在脚本到脚本的基础上实现这一点,则无需在 php.ini 中启用,而是可以使用 ini.set() 方法进行设置。
现在,当您想使用从 PHP 7.0 开始提供的 Opcache 启用页面缓存时,您可以通过在 php.ini 上启用此功能或使用 ini.set() 并设置缓存目录来实现,如下所示。
opcache.file_cache = “cache_directory”;
【讨论】:
这正是 OPcache 的用途。它缓存所有包含的文件(php 和其他:css、tpl 等)。
如果您对某个文件没有被缓存有疑问,只需检查函数opcache_get_status() 的输出,它将为您提供有关缓存的全面报告,包括每个缓存文件的信息。
<?php
echo '<pre>';
print_r( opcache_get_status() );
echo '</pre>';
【讨论】: