3 года назад
PHP: во всём виноват OPCache?
Классический способ публикации PHP проектов: имеем текущую версию кода в некоей директории директории /app/version1 и символическую ссылку /app/current -> /app/version1. Настройки nginx таковы, что код запускается из /app/current (т.е. по символической ссылке). Пришло время вложить новую версию: заливаем на сервер в директорию /app/version2 и после этого переключаем символическую ссылку /app/current -> /app/version2. Атомарно? Не факт! Есть несколько дополнительных факторов, которые нужно учитывать при деплое: - OPCache - realpath_cache - А начиная с PHP 7...
157 читали · 3 года назад
PHP: как работает OPcahce?
Никита Попов, один из основных разработчиков PHP на сегодняшний день, написал статью в своём блоге с подробностями работы OPcache. Сделаю краткий. https://www.npopov.com/2021/10/13/How-opcache-works.html OPcahce — это расширение PHP, которое ускоряет работу за счёт кэширования опкодов. Напомню, что интерпретатор PHP сначала читает PHP файлы, парсит код, превращая его в набор токенов, затем в абстрактное синтаксическое дерево, а затем в набор опкодов. Опкоды — это инструкции для виртуальной машины PHP, для Zend Engine...