Перейти к основному содержимому

Отладка Pimcore

В этом разделе приведены советы и рекомендации по отладке Pimcore, которые помогут вам быстрее освоиться при разработке в этой системе.

Режим отладки (Debug Mode)

Для включения специальных инструментов разработки (профилировщик, панель инструментов и т. д.) Pimcore использует переменную окружения APP_ENV в файле .env, расположенном в корне вашего проекта: APP_ENV=dev Дополнительно вы можете установить флаг отладки для ядра Symfony, используя APP_DEBUG=1. Более подробную информацию об этом смотрите в документации Symfony

Режим разработчика (Dev Mode)

Режим разработчика активирует расширенные функции отладки. Это полезно при разработке ядра Pimcore или создании собственных бандлов. Не активируйте этот режим в рабочих (production) системах!

Что именно делает режим разработчика:

  • Загрузка исходных JavaScript-файлов (несжатых и с комментариями).
  • Отключение некоторых видов кэша (Cache, ...)
  • Расширенное логирование в файлы журналов.
  • ... и еще кое-какие мелочи

Чтобы включить этот режим, добавьте следующую строку в ваш файл .env: PIMCORE_DEV_MODE=true

Отладка на стороне сервера

Для отладки на стороне сервера можно использовать стандартные средства отладки php и фреймворка Symfony, подобные приведенным ниже.

  • Чтение файлов журнала, как описано здесь
  • Использование консоли Symfony profiler в зависимости от активного окружения. Подробности смотрите в документации Symfony
  • Использование Xdebug и подходящей среды разработки (IDE) для пошаговой отладки, дополнительную информацию смотрите в Xdebug docs

Отладка на стороне клиента

Для полноценной отладки пользовательского интерфейса (backend UI) активируйте DEV-Mode в системных настройках. В этом режиме все JavaScript-файлы передаются без сжатия и с комментариями. Это позволяет использовать инструменты разработчика в браузере (просмотр реальных строк с ошибками, отладчик, стек вызовов и т. д.).

HTTP-заголовки

Pimcore может добавлять следующие заголовки в свои ответы для предоставления отладочной информации, особенно касающейся кэширования страниц (Full Page Cache):

Если ответ доставлен напрямую из кэша страниц:

  • X-Pimcore-Output-Cache-Tag:output_<SOME_HASH>: Тег кэша доставленной информации.
  • X-Pimcore-Cache-Date:<CACHE_DATE>: Дата сохранения информации в кэш.

Если ответ мог быть взят из кэша, но не был:

  • X-Pimcore-Output-Cache-Disable-Reason:<SOME REASON>: Описывает причину, по которой ответ не был доставлен из кэша страниц. Причины могут быть следующими: активен режим отладки (in debug mode), авторизован пользователь административной панели (backend user is logged in), сработало исключение пути в настройках (exclude path patter in system-settings matches), совпал файл cookie-исключения (exclude cookie in system-setings matches) и т.д.

Дополнительный заголовок для идентификации, что ответ отправлен Pimcore.

  • X-Powered-By:pimcore: Добавляется к каждому запросу.

Вы можете предложить улучшение документации или задать вопрос в комментариях.
Если вам нужна полноценная консультация — вы можете заказать её на нашем сайте.