Почему изменения в PHP-скриптах отображаются с большой задержкой?

👍 Научим создавать сайты на WordPress бесплатно за 19 уроков. Подробнее →

Часто начинающие WordPress-разработчики сталкиваются с тем, что при сохранении файлов PHP по протоколу FTP их изменения не сразу вступают в силу, а лишь через какое-то время.

Причины задержки применения изменений

По большей части такое неудобство возникает из-за использования механизмов кэширования. Закэшированные данные могут содержаться как в браузере, так и на самом сайте или хостинге.

Как избавится от задержек?

Обычно на стадии разработки и тестирования веб-ресурса программист заботится об отключении какого-либо кэширования для своего сайта, обезопасив себя от подобных ситуаций. Но часто бывает необходимо на “живом” сайте что-либо изменить или добавить новую функцию. Для этого необходимо проверять, какое-именно кэширование создает задержку отображения сделанных изменений.

Кэш браузера

Во-первых, необходимо проверить, не мешает ли разработке кэш Вашего браузера. Если комбинация клавиш [Ctrl]+[F5] не решает ситуацию, то в таком случае можно воспользоваться стандартными инструментами и попросту очистить все закэшированные им данные.

Кэш WordPress

Часто причиной задержек бывают именно данные страниц, закэшированные одним из соответствующих WordPress-плагинов (например, W3 Total Cache или WP Super Cache). В таком случае на время доработки и тестирования дополнение нужно отключить. Следует отметить, что некоторые из плагинов кэширования имеют настройку, позволяющую отключить кэширования для конкретного пользователя (например, в вышеуказанном плагине WP Super Cache).

Кэш на сервере

Если оба предыдущих способа не принесли никаких результатов в решении Вашей проблемы, то остается только одно – проверка серверного кэша. Следует отметить, что внезапное появление подобных задержек на сервере часто связано с изменением версии PHP. В таком случае это может означать, что новая версия PHP работает с активным механизмом кэширования байт-кода (OPCache). Для отключения механизма необходимо будет добавить специальную директиву в файл php.ini на сервере Вашего хостинга. Обычно это можно сделать через cPanel.

Для PHP 5.5, 5.6, 7.0, 7.1 необходимо добавить такую строку:

opcache.enable = Off

В старых версиях PHP 5.3 и 5.4 часто используется XCache, который отключается так:

xcache.cacher = Off

Для применения всех изменений необходимо перезагрузить сервер. Это, конечно, можно сделать исключительно на выделенных серверах. На обычном хостинге достаточно просто изменить версию PHP на какую-либо другую и сразу же вернуть назад старую. Следует отметить, что в завершении всех работ на сайте OPCache нужно снова включить, убрав добавленную строку из php.ini.

Нажмите, пожалуйста, на одну из кнопок, чтобы узнать понравилась статья или нет.

Создай свой первый сайт на WordPress
Если Вам понравилась статья — поделитесь с друзьями
Михаил Петров
Привет! Меня зовут Михаил Петров. Я копирайтер и занимаюсь этим с 2013 года. Скрупулезность и ответственность - моя фишка! Не могу делать как попало и добиваюсь, чтоб заказчик сказал минимум “неплохо”. За все время своей работы пришлось написать и отредактировать немало разной “текстовухи”, включая SEO-тексты, отзывы и прочую чушь. На сегодняшний день специализируюсь на написании информационных статей и руководств технического направления. Вижу смысл и светлое будущее в текстах для людей, а не для машин.
Задать вопрос