2016-04-08 4 views
2

Я хотел бы кэшировать только определенные файлы с OPCache ... Я знаю, что могу сделать это с opcache_compile_file но OPCache поддерживает кэширование все другие файлы, используемые сервером.Cache только определенные файлы с OPCache

Я также знаю, что я могу использовать opcache.blacklist_filename предотвратить папку из кэшируются ... Но что, если я хочу, чтобы кэшировать только определенный каталог. Невозможно понять, как использовать черный список для кэширования ничего, кроме определенного пути ... Я бы предпочел использовать белый список ...

Кто-нибудь знает, как это сделать?

Извините за мой плохой английский.

+0

Почему? Я не могу думать о какой-либо причине, кроме того, что «ошибка в opcache нарушает эту страницу», что вы не хотите, чтобы ускорение opcache активировалось. Я предполагаю, что это единственная причина, по которой черный список существует вообще. – Sammitch

+0

@Sammitch, как указано в документе. Обычно файлы запускаются по одной из следующих трех причин: 1) Каталоги, содержащие автоматически сгенерированный код, например, Smarty или ZFW-кеш. 2) Код, который не работает хорошо при ускорении, из-за некоторой задержки времени компиляции. 3) Код, вызывающий ошибку OPcache. – Yvan

ответ

0

До сих пор нет простого решения. Вам нужно удалить все каталоги, которые вы не хотите.

Вы можете использовать подстановочные знаки, чтобы помочь вам немного, но это может быть большой список, если у вас много каталогов.

Другой вариант - запустить PHP-FPM и иметь несколько пулов: один будет ускорен, другой - нет (opcache отключен).

Смежные вопросы