У меня есть много классов и php-файлов, включенных в другие php-файлы. Я использую OPcache, но подозреваю, что он не кэширует все, что включает php-файлы. Это правда? Если да, то как включить кеширование этих файлов тоже?

0
user10600676 18 Апр 2019 в 19:30

2 ответа

Лучший ответ

Обычно мы используем Opcache для кэширования скомпилированного кода операции, чтобы при запуске того же сценария он не компилировался снова и не обслуживал его из кэша.

Для этого вы должны включить Opcache в php.ini, который повлияет на все ваше приложение.

Opcache.enable = 1;

Если вы хотите добиться этого на основе сценария к сценарию, то нет необходимости включать его в php.ini, вместо этого вы можете установить его с помощью метода ini.set ().

Теперь, когда вы хотите включить кеширование страниц с помощью Opcache, который доступен в PHP 7.0 и более поздних версиях, вы можете сделать это, включив это в php.ini или используя ini.set () и настроив каталог кеша, как показано ниже.

Opcache.file_cache = "cache_directory";

0
Sakti Soumyakanta 18 Апр 2019 в 17:01

Это именно то, для чего используется OPcache. Он кэширует любые включенные файлы (как php, так и другие: css, tpl и т. Д.).

Если вы сомневаетесь в том, что определенный файл не кэшируется, просто проверьте вывод функции opcache_get_status (), он предоставит вам полный отчет о кэше, включая информацию о каждом отдельном кэшированном файле.

<?php

echo '<pre>';
print_r( opcache_get_status() );
echo '</pre>';
0
Stepan Stepanov 7 Янв 2020 в 07:38