Как включить профилировщик в Symfony 4

Решено:

Я переустанавливаю его заново, и теперь он содержит внутри web_profiler.yalm. Спасибо всем.


Первоначальный вопрос был:

Я только начинаю изучать Symfony, поэтому для начала я загрузил бесплатные видео на KnpUniversity. Когда я добрался до видео «Панель инструментов веб-отладки и профилировщик!» Я выполнил следующую команду:

> composer require profiler --dev

он установил ОК.

Затем, когда я открыл свое приложение в браузере, «(...) гладкая черная полоса внизу ...» не отображалась.

Я где-то читал, что, возможно, связано с тем, что я не установил symfony / debug, но посмотрите мой composer.json:

"require-dev": {
        "sensiolabs/security-checker": "^4.1",
        "symfony/debug": "^4.0",
        "symfony/dotenv": "^4.0",
        "symfony/profiler-pack": "^1.0",
        "symfony/web-server-bundle": "^4.0"
    },

так что я его установил.

Я выполнил следующую команду, которая дает мне конфигурацию профилировщика в моем проекте:

> php bin/console debug:config web_profiler                   

Current configuration for extension with alias "web_profiler" 
============================================================= 

web_profiler:                                                 
    toolbar: false                                            
    intercept_redirects: false                                
    excluded_ajax_paths: '^/((index|app(_[\w]+)?)\.php/)?_wdt'

Как вы видите выше, для панели инструментов установлено значение false, Как я могу его активировать? или Как я могу отобразить панель профилировщика?.

Я использую:

  • Композитор версии 1.6.5,
  • Symfony 4.1.1 и
  • PHP 7.2.7

Заранее спасибо.

Решение:

Я создал новый проект, и он сработал, похоже, это ошибка, когда композитор загружал пакеты.

Зайдите в свой каталог config/packages/dev

Iwan Wijaya 04.07.2018 17:02

Внутри есть только файл с именем routing.yaml: framework: router: strict_requirements: true

Nestor 04.07.2018 17:04

Вам необходимо отправить полную html-страницу, чтобы отображалась панель профиля. Я подозреваю, что у вас просто есть простой ответ new Response ('Hello');

Cerad 04.07.2018 17:05

В файле: config / packages / dev / web_profiler.yaml изменить панель инструментов: false на панель инструментов: true

Jeroen 04.07.2018 17:06

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

Cerad 04.07.2018 17:07

@Cerad Я каким-то образом предположил, что мне это понадобится, и я сделал и расширил base.html.twig и вернул его

Nestor 04.07.2018 17:08

Вывод вашей отладки php bin / console: config web_profiler toolbar: false, что должно быть правдой

Jeroen 04.07.2018 17:10

У меня нигде нет файла "web_profiler.yaml" @Jeroen

Nestor 04.07.2018 17:10

вы можете создать его в каталоге, о котором я упоминал, также проверьте, нет ли config web_profiler: в framework.yaml

Jeroen 04.07.2018 17:12
symfony.com/doc/current/profiler.html Используйте composer require --dev symfony/profiler-pack. Это создаст всю необходимую конфигурацию, потому что он использует Symfony Flex. Я предполагаю, что Knp Videos немного устарели.
Domagoj 04.07.2018 17:14

web_profiler отсутствует в framework.yaml

Nestor 04.07.2018 17:14

@Domagoj Я уже делал это три или четыре раза, также композитор требует --dev symfony / debug и ничего

Nestor 04.07.2018 17:15

Хм. Если у вас действительно вообще нет файла, значит, вы возились с конфигурацией или не загрузили его через композитор. Может быть, лучше просто начать чистый проект. Не сказать, что случилось.

Cerad 04.07.2018 17:15

Или попробуйте создать файл в config / packages / dev / web_profiler.yaml

Jeroen 04.07.2018 17:16

@Nestor Команда, о которой я упоминал, немного отличается. Вы уверены, что использовали последнюю версию профилировщика? Команда, которую вы упомянули в вопросе, отличается от того, что указано в моем комментарии.

Domagoj 04.07.2018 17:17

Если бы мне действительно приходилось предполагать, что видео, которое вы смотрели, предназначалось для Symfony 3, и вы пытались обновить его.

Cerad 04.07.2018 17:17

Еще одна идея, которая приходит в голову, - это окружающая среда. {{ dump(app.environment) }} Если это не dev, то панели отладки нет. Кроме того, если вы можете, проверьте расширение Chrome Symfony2 Profiler, которое работает с 3.4, не может подтвердить для Symfony 4.

Domagoj 04.07.2018 17:19

@Cerad Я уверен, что они для Symfony4 [knpuniversity.com/screencast/symfony/resume] (следовать) эта ссылка), если хочешь.

Nestor 04.07.2018 17:19

@Domagoj то, что я имел в виду, было то, что я сделал: композитор требует --dev symfony / profiler-pack и композитор требует --dev symfony / debug

Nestor 04.07.2018 17:21

@Domagoj Я использую dev: php bin / console возвращает: Symfony 4.1.1 (ядро: src, env: dev, debug: true)

Nestor 04.07.2018 17:23

Если поставить toolbar: true и очистить кеш? Что происходит?

Domagoj 04.07.2018 17:24

Опубликованные части composer.json предполагают, что произошли странные вещи. Они показывают 4.0, хотя вы, кажется, используете 4.1. Если вы действительно хотите разобраться в этом, создайте новый каталог и запустите "composer create-project symfony / website-skeleton". Это загрузит все, что вам нужно. А затем, если вы действительно хотите, вы можете сравнить свой проект с рабочим проектом, чтобы увидеть, что изменилось. В противном случае вы просто будете гоняться за своим хвостом.

Cerad 04.07.2018 17:24

@Cerad, я сделаю это снова, хотя это займет некоторое время из-за моей пропускной способности, когда он будет готов, я прокомментирую это здесь

Nestor 04.07.2018 17:28

Я тоже новичок. Сначала я подумал, что у тебя не получилось. После этого я знал, что «гладкая черная полоса внизу ...» отображается только на страницах, использующих Twig! что насчет тебя?

Nava 01.03.2019 22:17
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
8
24
13 462
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Я только что установил новый проект и могу подтвердить, что профилировщик и панель инструментов включены по умолчанию. Конфигурация находится в config/packages/dev/web_profiler.yaml со следующей конфигурацией:

web_profiler:
    toolbar: true
    intercept_redirects: false

framework:
    profiler: { only_exceptions: false }

Вы запускали> composer create-project symfony / skeleton?

Nestor 04.07.2018 17:37

Нет. Я запускал symfony/website-skeleton. skeleton предназначен для API и микросервисов. Если вы сделали скелет, вероятно, вам не хватает пакета Twig и, возможно, чего-то еще

Domagoj 04.07.2018 17:41

Можете ли вы отрендерить какие-либо представления в своем приложении?

Domagoj 04.07.2018 17:42

Да, я могу отображать просмотры @Domagoj

Nestor 04.07.2018 17:55

вам нужно включить панель инструментов, как в моем web_profiler.yaml, очистить кеш, а затем попытаться отладить контейнер и профилировщик

Domagoj 04.07.2018 17:57

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

Domagoj 04.07.2018 18:08

и вставьте вывод @Nestor

Domagoj 04.07.2018 18:08

Ах, теперь, похоже, вам не хватает именованных маршрутов для профилировщика ... это очень странно, тот факт, что композитор не создал это для вас, когда вы установили пакет. Мой следующий совет состоит в том, что вы попытаетесь удалить все, что было при ваших недавних попытках установить пакет профилировщика, и сделайте это заново и попытайтесь увидеть, есть ли какие-либо сообщения об ошибках, или попытайтесь выяснить, почему symfony flex не создал все файлы для вас. Или вы можете попробовать создать новый скелет и попытаться установить его туда.

Domagoj 04.07.2018 18:34
framework: profiler: { only_exceptions: false } мне эта деталь помогла. Спасибо!
alumi 20.08.2018 18:02

Имейте в виду, что вам необходимо прикрепить маршруты web_profiler.

в:

config/routes/dev/web_profiler.yaml

web_profiler_wdt:
resource: '@WebProfilerBundle/Resources/config/routing/wdt.xml'
prefix: /_wdt

web_profiler_profiler:
resource: '@WebProfilerBundle/Resources/config/routing/profiler.xml'
prefix: /_profiler

Другие вопросы по теме