TG Telegram Group & Channel
Библиотека пхпшника | PHP, Laravel, Symfony, CodeIgniter | United States America (US)
Create: Update:

Правильный перезапуск Opcache после развертывания

Важно правильно перезагружать Opcache при деплое кода на сервер без использования контейнеров.

Opcache сохраняет старые версии файлов в кэше и не выбрасывает их автоматически. Поэтому, если новая версия кода деплоится в новую директорию, старые файлы остаются в кэше, занимая место и предотвращая сохранение новых файлов. Это приводит к необходимости постоянной перекомпиляции новых файлов, что снижает производительность.

Статья предлагает два решения проблемы:

1. Перезагрузка процесса «php-fpm» после деплоя новой версии кода. Однако, это решение приводит к прерыванию текущих запросов на короткое время.

2. Использование утилиты gordalina/cachetool или аналогичной, например, chop, для сброса кэша. Cachetool позволяет сбросить кэш без перезагрузки php-fpm, обнаруживая PHP-FPM через сокеты или IP-адрес и порт. Утилиту можно установить и использовать следующими командами:

Скачивание и установка:
curl -sLO https://github.com/gordalina/cachetool/releases/latest/download/cachetool.phar
chmod +x cachetool.phar

Сброс кэша:
php cachetool.phar opcache:reset

В случае использования других сокетов или IP-адресов и портов, команда выглядит так:
php cachetool.phar opcache:reset --fcgi=/var/run/php/php8.2-fpm-profiler.sock

Правильный перезапуск Opcache после развертывания

Важно правильно перезагружать Opcache при деплое кода на сервер без использования контейнеров.

Opcache сохраняет старые версии файлов в кэше и не выбрасывает их автоматически. Поэтому, если новая версия кода деплоится в новую директорию, старые файлы остаются в кэше, занимая место и предотвращая сохранение новых файлов. Это приводит к необходимости постоянной перекомпиляции новых файлов, что снижает производительность.

Статья предлагает два решения проблемы:

1. Перезагрузка процесса «php-fpm» после деплоя новой версии кода. Однако, это решение приводит к прерыванию текущих запросов на короткое время.

2. Использование утилиты gordalina/cachetool или аналогичной, например, chop, для сброса кэша. Cachetool позволяет сбросить кэш без перезагрузки php-fpm, обнаруживая PHP-FPM через сокеты или IP-адрес и порт. Утилиту можно установить и использовать следующими командами:

Скачивание и установка:
curl -sLO https://github.com/gordalina/cachetool/releases/latest/download/cachetool.phar
chmod +x cachetool.phar

Сброс кэша:
php cachetool.phar opcache:reset

В случае использования других сокетов или IP-адресов и портов, команда выглядит так:
php cachetool.phar opcache:reset --fcgi=/var/run/php/php8.2-fpm-profiler.sock


>>Click here to continue<<

Библиотека пхпшника | PHP, Laravel, Symfony, CodeIgniter




Share with your best friend
VIEW MORE

United States America Popular Telegram Group (US)