• Здравствуйте!

    Пишу плагин, и столкнулся с такой проблемой — админ-панель обновляется не сразу, что очень мешает разработке. Такое ощущение, что работает какое-то кэширование, но на других проектах (Laravel) всё в порядке, проблема только с wordpress проектом. Кэширование происходит точно на стороне сервера, а не браузера. Перелопатил все настройки сервера (nginx, php7.1-fpm), гуглил сабж, пробовал разные плагины (напр. WP Rocket | No Cache for Admins),
    в wp-config.php прописал — «define(‘WP_CACHE’, false);», но всё бесполезно.
    Да. WordPress свежеустановленный, версия 4.9.1, тема стандартная — Twenty Seventeen.
    Кто-нибудь сталкивался с подобным?

Просмотр 7 ответов — с 1 по 7 (всего 7)
  • Проблема проявляется не только в админке, но и в public разделе…

    Модератор Yui

    (@fierevere)

    永子

    админка не кешируется, так что либо сервер внутри себя шалит.. либо какая-то у вас мистика, или сквозной прокси игнорирующий заголовки

    заголовки сервера в инспекторе браузера гляньте

    cache-control	no-cache, must-revalidate, max-age=0
    content-encoding	gzip
    content-type	text/html; charset=UTF-8
    date	Sun, 14 Jan 2018 20:11:49 GMT
    expires	Wed, 11 Jan 1984 05:00:00 GMT
    referrer-policy	same-origin
    server	Yui
    X-Firefox-Spdy	h2
    x-frame-options	SAMEORIGIN

    сами посмотрите сколько заголовков говорят о том что админка кешироваться не хочет.

    define(‘WP_CACHE’, false);
    это вы зря, это совсем из другой оперы и сильно замедлит работу WP

    в nginx fastcgi кеш не настраивали? А прокси?

    • Ответ изменён 6 лет, 11 месяцев назад пользователем Yui.
    Модератор Yui

    (@fierevere)

    永子

    https://habrahabr.ru/post/312696/
    есть еще вот такой нюанс, но кажется подобный заголовок хочет только IE (и то тухлой версии)

    Заголовки в порядке, все как у Вас.
    Да, я читал эту статью на Хабре, поставил этот плагин — результат нулевой.
    На другом серваке стоит WordPress 4.7.8, настройки nginx и php вроде идентичные (сейчас ещё раз сравню по-внимательней), проблемы такой нет.

    кэшируется админка на nginx+phpfpm.
    поможет отключение общего кэширования в nginx и включение кэширования только для статики.

    как бы объяснить — тот же ISPManager при включение кэширования на 7 дней в nginx прописывает

    
     expires 7d;
    

    для всего сервера. а надо только для статики:

    
    location ~* ^.+\.(jpg|jpeg|gif|png|svg|js|css|mp3|ogg|mpe?g|avi|zip|gz|bz2?|rar|swf|woff|woff2|ttf)$ {
                # кэш только статики при php-fpm
                expires 7d;
                access_log off;
           }
    

    в общем — если в админке обновление работает при обновление через Ctrl+F5 — то это ваш случай. если же нет — смотрите, не включено ли для php более одного пакета кэширования — а то многие любят к opcache еще парочку пакетов включить.

    Модератор Yui

    (@fierevere)

    永子

    к opcache

    кеширование опкодов тоже совсем из другой оперы

    [оффтоп]
    у меня xcache вместе с opcache дружно живут на php 5.6
    один кеширует переменные (объектный кеш), второй, как и ему положено, опкоды
    [/оффтоп]

    у ТС же проблема на уровне страницы, я так понимаю, это fastcgi_cache или proxy_cache или уровень заголовков сервера для кеширования на уровне браузера

    кеширование опкодов тоже совсем из другой оперы

    ну не факт.
    я как-то клиенту плагин писал — но обновление кода плагина ничего не меняло на сайте. мне приходилось каждый раз менять название плагина plugin1.php, plugin2.php и тд. чтобы увидеть изменения.
    как оказалось — у него там для php было включено 3 пакета кэширования и какое-то из них тупо жестко кэшировало php-файлы.

    но в данном конкретном случае на 99% виновато браузерное кэширование, включенное в nginx. даже странно, что так мало топиков по этой проблеме — ибо она возникает на vds прямо из коробки.

Просмотр 7 ответов — с 1 по 7 (всего 7)
  • Тема «Кэширование админ части» закрыта для новых ответов.