
Есть ли способ заставить OPcache использовать хэш или указать определенный каталог в каждом домене, чтобы отключить use_pwd и не кэшировать одни и те же пакеты снова и снова?
По умолчанию OPcache добавляет рабочий каталог к ключу скрипта для предотвращения коллизий. Это можно переключить с помощьюopcache.use_cwdнастройка, но она не очень полезна на сервере с несколькими веб-сайтами, поскольку файлы конфигурации PHP конфликтуют.
Фон У меня есть несколько приложений Symfony, Magento 2 и т. д., работающих на одном сервере, каталог vendor содержит 95% всего PHP-кода для каждого из этих приложений, что создает множество дубликатов файлов в OPcache.
решение1
Да, в вашем opcache.config включите следующую опцию:
; When this directive is enabled, the OPcache appends the current working
; directory to the script key, thus eliminating possible collisions between
; files with the same name (basename). Disabling the directive improves
; performance, but may break existing applications.
opcache.use_cwd=1