здравствуйте, я установил на свой сервер OPcache (использую связку apache+nginx), после установки, добавил в конфиг пару строк (я взял их из рекомендаций в мануалах)
opcache.revalidate_freq=0
opcache.validate_timestamps=0
opcache.max_accelerated_files=20000
opcache.memory_consumption=128
opcache.interned_strings_buffer=16
opcache.fast_shutdown=1
но дело в том, что теперь, когда я меняю что либо в php файлах, на сайте это никак не отражается, и помогает только перезагрузка апача
подскажите, это я что-то не так сделал, или так и должно быть?
Второй параметр в вашем конфиге opcache.validate_timestamps
отключает проверку файлов на изменения. Поэтому после обновления файлов вы не видите изменений.
Если вы его включите (1
), то вступает в работу первый параметр opcache.revalidate_freq
, указывающий, как часто измеения будут проверяться (в секундах). Если указано значение 0
, то проверка будет осуществляться при каждом запросе..
Возможно для сервера разработки включать OPCache смысла и нет. Что касается продакшен-сервера, то обновления кода здесь на так часты. Поэтому либо настройте указанные параметры нужным образом. Либо вручную очищайте кэш, используя функции opcache_reset()
и opcache_invalidate()
. Первая из них очищает кэш целиком, вторая для указанного файла (обновленного в вашем случае).
Загвоздка в том, что данные функции не получится выполнить из консоли, поэтому после обновления сайта из репозитория не получится просто дописать некий хук для обновления кэша, а придется на сайте выполнить некий скрипт, который их выполнит.
зы: на правильный ответ не претендует, OPCache не использовал. Прочитал доки, полученные знания изложил в ответ.
Виртуальный выделенный сервер (VDS) становится отличным выбором
Да, при работе с моделями можно использовать $this->setReadConnectionService('dbSlave') и $this->setWriteConnectionService('dbMaster'), но сложность возникает когда запросы идут...
Помогите, пожалуйста, сделать рандомное перемешивание блоков с данными из БД при каждом обновлении страницы
Перенес сайт на новый движок, Yii2 basicОт предыдущих урл пришлось отказаться