Назад | Перейти на главную страницу

Как принудительно полностью очистить opcache PHP7?

Opcache на моем веб-сервере продолжает достигать установленного мной предела, хотя я чувствую, что у меня нет который много PHP-кода, и на нем действительно должно быть достаточно места.

Это усугубляется тем фактом, что даже при очистке opcache он немедленно показывает более 2/3 доступного пространства как заполненное.

Пример только что:

Фрагмент phpinfo непосредственно перед запуском opcache_reset ():

Used memory     122958472
Free memory     5552 

Фрагмент phpinfo сразу после запуска opcache_reset ():

Used memory     90691312
Free memory     43526416

Я знаю, что в PHP7 opcache (по-видимому) копируется на диск, так что, может быть, происходит автоматическая перезагрузка? Но это, похоже, противоречит цели сброса opcache, и я понятия не имею, где на диске создается резервная копия opcache, поэтому я не могу проверить.

Я использую PHP-FPM на nginx, если быть точным, версия 7.0.15-0ubuntu0.16.04.4.

Вы должны использовать opcache_reset (), http://php.net/manual/en/function.opcache-reset.php

Обратите внимание, что это не работает через CLI; вам нужно создать скрипт с доступом по протоколу HTTP, который его вызывает.