Очистить кеш Modx вручную

Обновлено: 21.11.2024

В Revolution есть множество различных функций кэширования. Различные аспекты кэширования могут быть расширены с помощью определяемых пользователем классов, поэтому можно реализовать различные виды функций в механизмах кэширования пользовательских компонентов (т. е. там, где вы кэшируете свои собственные пользовательские данные), но не во всем ядре.

Как выполняется кэширование в Revolution?

Во-первых, давайте взглянем на все, что находится в каталоге core/cache/ Revolution (или core/cache/MODX_CONFIG_KEY/, если он настроен на что-то отличное от config)

В корне вы найдете файл config.cache.php, содержащий системные настройки, загружаемые по любому запросу.

Конфигурация контекста, карта событий и кэширование плагинов

В подкаталоге для каждого контекста (например, web/ или mgr/ или коннектор/) вы найдете файл context.cache.php, содержащий настройки контекста, карту событий плагина для контекста и зарегистрированные элементы плагина. на карте событий.

Кэширование ресурсов (частичных страниц)

В веб-контексте (или другом пользовательском внешнем контексте) будет подкаталог для ресурсов/, содержащий такие файлы, как 1.cache.php, где 1 представляет идентификатор ресурса. Эти файлы содержат объект ресурса, а также любые кэшированные выходные данные элемента, используемые ресурсом.

В каждом контексте вы также найдете подкаталог elements/, содержащий файлы кеша для различных типов элементов (особенно фрагментов и плагинов). Они содержат различные типы кэш-файлов, которые классы элементов используют при обработке. Например, фрагменты кода и подключаемые модули кэшируют сгенерированную глобальную функцию, которая включается и становится доступной во время выполнения.

Кэширование объектов xPDO и наборов результатов базы данных

Если вы включите это, xPDO может кэшировать наборы результатов запроса, представляющие любые объекты и коллекции в подкаталоге объектов. Это можно включить в средах, где доступ к базе данных обходится дороже, чем время включения PHP. Это отдельно от всех других механизмов кэширования, которые очень специфичны для работы MODx.

xPDOCacheManager и производный от него класс modCacheManager предоставляют некоторые полезные функции для кэширования любых данных практически в любой системе кэширования и включают реализацию memcached. Здесь нет функции тегирования, как в программных функциях библиотеки Zend_Cache, но определенно есть некоторые способы очистить определенные части любого пользовательского кэширования, а также различные части механизмов кэширования, специфичных для MODx, описанных выше.

Я создал сайт для клиента на своем поддомене. Затем я перенес его через файлы и базу данных на новый сервер.

Проблема в том, что базовый URL больше не работает.

Я установил его вручную, например:

Но похоже, что все ссылки открываются в новых вкладках.

Можно ли это как-то исправить с помощью базы данных или файла конфигурации?

@Vasis, да. Проблема в том, что старый URL-адрес поддомена сохранен в настройке «site_url». Однако я не могу найти этот параметр в базе данных или файле конфигурации.

2 ответа 2

После переноса сайта MODX на другой сервер, домен или субдомен вам необходимо проверить следующие места и принять меры:

  • очистить кеш сайта (!)
  • проверить через FTP, действительно ли папка кеша пуста
  • если нет -> установите разрешения, спросите у хостера, 777 или 755
  • изменить шаблоны, чтобы они содержали новую базовую ссылку
  • проверьте свой .htaccess, если у вас установлены старые правила перезаписи
  • проверьте core/config на наличие старых путей или URL
  • также проверьте config.inc.php внутри корневой папки, внутри /manager/ и внутри /connectors/.

Большинство путей и URL-адресов в Modx основаны на настройках сайта. Вероятно, есть несколько, которые вам придется настроить. core_path — самый простой из них.

Их можно найти под шестеренкой в ​​правом верхнем углу менеджера, в разделе "Системные настройки"

Кроме того, если этого и файла конфигурации недостаточно, этот вопрос SO предлагает переустановить папку установки и повторно запустить первоначальную установку.

Не тот ответ, который вы ищете? Просмотрите другие вопросы с метками modx modx-revolution или задайте свой вопрос.

Связано

Связанные

Горячие вопросы о сети

Чтобы подписаться на этот RSS-канал, скопируйте и вставьте этот URL-адрес в программу для чтения RSS.

дизайн сайта / логотип © 2022 Stack Exchange Inc; вклады пользователей под лицензией cc by-sa. версия 2022.3.21.41733

MODX — мощный инструмент, но это не значит, что иногда он ведет себя немного не так, и знание того, что делать, когда происходят эти странные вещи, может помочь улучшить ваш день и, конечно же, ваш рабочий процесс.В этой статье я сосредоточусь на MODX Revolution и причудливых вещах, которые могут вас остановить и которые относительно легко исправить.

Многие из странных вещей, которые вы видите в MODX, являются просто результатом неправильного кеша. Это должно быть первым шагом при отладке ЛЮБОЙ ошибки или проблемы MODX, поскольку это часто является решением причудливых проблем сайта, которые внезапно возникают. Не тратьте время на отладку чего-либо без ПЕРВОЙ очистки кеша, не только в менеджере MODX, но и вручную удалив сами файлы ядра/кэша. Если очистка кеша не работает, перейдите к другим параметрам, но если помнить об этом, то довольно часто можно сэкономить много неоправданного времени на отладку.

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

Один из самых простых и быстрых способов решить такую ​​небольшую проблему, которая на самом деле является ОГРОМНОЙ проблемой для клиента, — это очистить кеш. Теперь это можно сделать несколькими способами. Один из них — использовать функцию менеджера «очистить кеш», которую можно найти в меню под сайтом или в MODX 2.3 в разделе «Контент». Для этого сайта это было все, что требовалось для обновления кеша, и меню снова заработало.

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

*Остерегайтесь своих путей при удалении файлов ядра/кэша. Всегда проверяйте, что вы находитесь в папке core/cache, а НЕ в основной папке.

  • Загрузите и установите пакет CacheClear из управления пакетами
  • Ресурс появится в вашем дереве на корневом уровне. Убедитесь, что этот ресурс не отображается в меню вашего сайта, установив флажок "Скрыть из меню" на ресурсе.
  • Просмотр этого ресурса в браузере очистит для вас файлы ядра/кеша сайта.

Вы также можете войти на свой сайт через ftp и очистить файлы ядра/кэша от вашего ftp-клиента, но обычно это очень медленный процесс, и все альтернативные методы, описанные выше, сделают работу почти мгновенно по сравнению с ней.

Как подписчик вы получите доступ к определенным частям сайта, скрытым от других. Вы также будете получать уведомления по электронной почте, когда на сайте появится новый контент или будет обновлен существующий контент.

При входе вы больше не увидите этот запрос на подписку.

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

Политика конфиденциальности

Мне лень собирать какую-либо информацию о вас, кроме данных, которые вы отправляете при подписке, и я никогда не буду намеренно делиться ими с кем-либо.

Как обычно, Google и другие организации также могут собирать информацию о вас во время вашего посещения.

Если эта политика изменится, я сообщу вам об этом.

Очистка кеша MODX

Полностью очистите кеш MODX с помощью дополнительной опции CacheClear

В предыдущих статьях мы рассмотрели способы запретить Google Chrome кэшировать ваш код. Однако это не поможет, если проблема в кеше MODX. В этой статье мы рассмотрим метод надежной очистки кеша MODX с помощью фрагмента кода.

Проблема

Вы можете очистить кеш в MODX с помощью пункта верхнего меню «Управление» -> «Очистить кеш». В коде это можно сделать так:

В любом случае предполагается, что MODX очистит весь кеш. Однако в ряде случаев я сталкивался с ситуациями, когда казалось, что кеш не был полностью очищен. Плагины и системные настройки кажутся особенно липкими. Я признаю, что могу ошибаться в этом, но это случалось достаточно раз, что я не очень доверяю этим методам полной очистки кеша. В начале эпохи MODX 2.0 MODX страдал от повреждения кеша, и очистка кеша в Диспетчере не всегда исправляла это для меня.

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

Если вы читали форумы MODX, я уверен, что вы видели совет вручную удалить все файлы в каталоге core/cache. Это сложно сделать, так как на странице файлов MODX вам придется удалять их по отдельности. Удаление их в файловом менеджере cPanel или с помощью FTP по-прежнему доставляет неудобства. Наконец-то я написал свой собственный CacheClear, который удаляет файлы за меня.При запуске он вручную удаляет все файлы в каталоге кеша, кроме файлов в каталоге журналов. Несколько дополнений записывают журналы в этот каталог, и именно там живет журнал ошибок MODX, поэтому имеет смысл их сохранить. Эти файлы никогда не исполняются и никогда не используются при загрузке Manager или интерфейсных страниц (за исключением самого журнала ошибок), поэтому они не могут вызвать никаких проблем.

CacheClear спрашивает у MODX cacheManager, где находится кеш, поэтому даже если кеш перемещен или вы используете альтернативную схему кеширования, он все равно будет работать.

CacheClear устанавливается в диспетчере пакетов (Дополнительно -> Программа установки). Чтобы использовать его, вы просто просматриваете ресурс CacheClear, который сообщит о том, что было удалено. Приятно знать, что после запуска CacheClear, включения расширения Cache Killer Chrome (описанного в предыдущей статье) и перезагрузки страницы я точно знаю, что ничего не кэшировалось.

Скоро

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

Ищете высококачественный хостинг с поддержкой MODX? По состоянию на май 2016 года руководства Боба размещаются на хостинге A2. (Дополнительная информация в поле ниже.)

ПОДПИСАТЬСЯ, чтобы получать уведомления о новых сообщениях в блоге.

Для получения информации о том, как использовать MODX для создания веб-сайта (и других тем), см. мой основной веб-сайт, Руководства Боба или, что еще лучше, купите мою книгу: MODX: Официальное руководство .

Ищете высококачественный хостинг для MODX? По состоянию на май 2016 года руководства Боба размещаются на хостинге A2. MODX будет нормально работать на большинстве хостингов, но наличие хостинга, поддерживающего MODX, может избавить вас от разочарований. Более того, серверы твердотельных накопителей A2 настроены на обработку многих вызовов Ajax и баз данных, сделанных MODX, особенно MODX Manager. Мой менеджер работает примерно в четыре раза быстрее, чем на моем предыдущем хосте. Я особенно рекомендую пакет Swift с опцией Performance Plus.

Читайте также: