Squeak.ru - шаблоны программирования

Web Profiler не отображается в dev

Я использую Symfony2 (const version="2.5.10") и использую xampp с версией PHP 5.5.19.

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

config.yml

imports:
    - { resource: parameters.yml }
    - { resource: security.yml }

framework:
    #esi:             ~
    #translator:      { fallback: "%locale%" }
    translator: ~
    secret:          "%secret%"
    router:
        resource: "%kernel.root_dir%/config/routing.yml"
        strict_requirements: ~
    form:            ~
    csrf_protection: ~
    validation:      { enable_annotations: true }
    templating:
        engines: ['twig']
        #assets_version: SomeVersionScheme
    default_locale:  "%locale%"
    trusted_hosts:   ~
    trusted_proxies: ~
    session:
        # handler_id set to null will use default session handler from php.ini
        handler_id:  ~
    fragments:       ~
    http_method_override: true

# Twig Configuration
twig:
    debug:            "%kernel.debug%"
    strict_variables: "%kernel.debug%"

# Assetic Configuration
assetic:
    debug:          "%kernel.debug%"
    use_controller: false
    bundles:        ['MatrixEdiBundle', 'FOSUserBundle']
    #java: /usr/bin/java
    filters:
        cssrewrite: ~
        #closure:
        #    jar: "%kernel.root_dir%/Resources/java/compiler.jar"
        #yui_css:
        #    jar: "%kernel.root_dir%/Resources/java/yuicompressor-2.4.7.jar"

# Doctrine Configuration
doctrine:
    dbal:
        driver:   "%database_driver%"
        host:     "%database_host%"
        port:     "%database_port%"
        dbname:   "%database_name%"
        user:     "%database_user%"
        password: "%database_password%"
        charset:  UTF8
        # if using pdo_sqlite as your database driver, add the path in parameters.yml
        # e.g. database_path: "%kernel.root_dir%/data/data.db3"
        # path:     "%database_path%"

    orm:
        auto_generate_proxy_classes: "%kernel.debug%"
        auto_mapping: true

# Swiftmailer Configuration
swiftmailer:
    transport: "%mailer_transport%"
    host:      "%mailer_host%"
    username:  "%mailer_user%"
    password:  "%mailer_password%"
    spool:     { type: memory }
fos_user:
    db_driver: orm # other valid values are 'mongodb', 'couchdb' and 'propel'
    firewall_name: main
    user_class: Matrix\MatrixUserBundle\Entity\User

config_dev.yml

imports:
    - { resource: config.yml }

framework:
    router:
        resource: "%kernel.root_dir%/config/routing_dev.yml"
        strict_requirements: true
    profiler: { only_exceptions: false }

web_profiler:
    toolbar: %debug_toolbar%
    intercept_redirects: %debug_redirects%

monolog:
    handlers:
        main:
            type:   stream
            path:   "%kernel.logs_dir%/%kernel.environment%.log"
            level:  debug
        console:
            type:   console
            bubble: false
        # uncomment to get logging in your browser
        # you may have to allow bigger header sizes in your Web server configuration
        #firephp:
        #    type:   firephp
        #    level:  info
        #chromephp:
        #    type:   chromephp
        #    level:  info

assetic:
    use_controller: %use_assetic_controller%

swiftmailer:
    #delivery_address: [email protected]
    disable_delivery: false 
18.05.2015

  • У вас нет проблем (открытие предупреждений в JS)? вы используете URL-адрес app_dev.php? разве у вас нет отключенной конфигурации в config_dev.yml с profiler.enabled: false? 18.05.2015
  • привет, можешь проверить мои config.yml и config_dev.yml, если есть проблемы? 19.05.2015
  • Убедитесь, что вы находитесь в среде разработки. У меня была та же проблема, и оказалось, что я был в рабочей среде локально. Выгрузите {{ app.environment }} для подтверждения. 12.09.2017

Ответы:


1

Для панели инструментов профилировщика требуется <body> ... </body>. Я думаю, у вас его нет в вашем файле (файлах) ветки.

Профилировщик

# app/config/config_dev.yml
web_profiler:
    toolbar: true
    intercept_redirects: false

Пример файла ветки.

Строка {% extends '::base.html.twig' %} будет расширять app/Resources/views/base.html.twig, которая вставляет <body>...</body> по умолчанию в ваши пользовательские файлы веток.

{% extends '::base.html.twig' %}

{% block body %}
   Hello!
{% endblock %}
18.05.2015
  • Я уже изменил свой config_dev.yml, но он все еще не показывает профилировщик 19.05.2015
  • Вы пытались жестко закодировать true вместо %debug_toolbar%, чтобы он выглядел как мой выше? 19.05.2015
  • да, но все равно не повезло ... вместо этого я получил ошибку, подобную этой OutOfMemoryException: Ошибка: разрешенный размер памяти 536870912 байт исчерпан (попытался выделить 2883686 байт) в C:\xampp\htdocs\Editracker\vendor\symfony\symfony \src\Symfony\Component\HttpKernel\DataCollector\DataCollector.php строка 35 19.05.2015
  • Это простое решение для этого конкретного eeror. Просто погуглите. 19.05.2015
  • да, уже пробовал это, увеличив memory_limit, но все равно выдает эту ошибку. 19.05.2015
  • это уже работает, когда я пытаюсь перейти на другую страницу без ошибок, спасибо, но теперь проблема в нехватке памяти 19.05.2015
  • Без проблем. Откройте новый вопрос и дайте ссылку, чтобы я тоже мог на него ответить, потому что это не имеет отношения к текущему контексту. 19.05.2015
  • вот оно: stackoverflow.com/ вопросы/30229637/ 19.05.2015
  • @BentCoder, ты прав. Тег body необходим для работы профилировщика. Таким образом, вы либо добавляете тег body непосредственно в свою ветку, либо расширяете базовую ветку и перезаписываете ее компонент body. 22.11.2018

  • 2

    Если ваше действие не возвращает html-код (например, json API) и вы хотите использовать профилировщик:

    Быстрое и грязное решение:

    return new Response("<html><body>Debug data</body></html>");
    

    Еще более быстрое и грязное решение - возврат не Response типа в контроллер вызовет исключение с включенным ответом профилировщика:

    return 1;
    

    Если ваше приложение работает на Symfony >=2.4, вы также можете использовать X-Debug-Token, который содержит токен отладки, и заголовок X-Debug-Token-Link, который содержит ссылку на страницу профилировщика. Если вы хотите использовать этот метод, расширение Chrome ярлык Symfony2 Profiler повысит ваш пользовательский опыт.

    14.01.2016
  • Более короткое грязное решение return new Response("<body></body>"). Это хорошо, когда у вас есть действия, которые выполняются, но не должны ничего выводить. 19.05.2017

  • 3

    вы включили его в файле config.yml или parameters.yml? Вы в режиме разработки? вызов app_dev.php ?

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

    просто некоторые идеи, которые могут помочь

    18.05.2015
  • В моем случае это была маленькая иконка Symfony в правом нижнем углу. После нажатия на него, он снова показывался. Спасибо! 29.06.2017

  • 4

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

    {% extends 'base.html.twig' %}
    
    {% block body %}
        Hello {{name}}.
    {% endblock %}
    

    показывает веб-профилировщик, но что-то простое, например:

     <body>
        Hello {{name}}.
     </body>
    

    будет работать, но не покажет веб-профилировщик.

    16.06.2015

    5

    Я была такая же проблема.

    Проблема была в моем определении маршрутов. У меня есть что-то вроде этого:

    load_home:
        path: /{page}
        defaults: {_controller: ExpatsBundle:Pages/Home:index, _format: html|json, page: 1}
        methods: GET
        requirements:
            page: \d+
    

    Таким образом, изменение _format: html|json на _format: html решило проблему.

    21.02.2017

    6

    У меня была такая же проблема, и я пробовал все вышеперечисленное безрезультатно. Я переключил окна в браузере на другое приложение (с помощью wdt), а затем переключился обратно, и вдруг оно появилось (я пробовал жесткую перезагрузку и т. д. и т. д.).

    26.05.2021
    Новые материалы

    Угловая структура архитектуры
    Обратите внимание, что эта статья устарела, я решил создать новую с лучшей структурой и с учетом автономных компонентов: https://medium.com/@marekpanti/angular-standalone-architecture-b645edd0d54a..

    «Данные, которые большинство людей используют для обучения своих моделей искусственного интеллекта, поставляются со встроенным…
    Первоначально опубликовано HalkTalks: https://hacktown.com.br/blog/blog/os-dados-que-a-maioria-das-pessoas-usa-para-treinar-seus-modelos-de-inteligencia-artificial- ja-vem-com-um-vies-embutido/..

    Сильный ИИ против слабого ИИ: различия парадигм искусственного интеллекта
    В последние годы изучению и развитию искусственного интеллекта (ИИ) уделяется большое внимание и прогресс. Сильный ИИ и Слабый ИИ — две основные парадигмы в области искусственного интеллекта...

    Правильный способ добавить Firebase в ваш проект React с помощью React Hooks
    React + Firebase - это мощная комбинация для быстрого и безопасного создания приложений, от проверки концепции до массового производства. Раньше (знаете, несколько месяцев назад) добавление..

    Создайте API с помощью Python FastAPI
    Создание API с помощью Python становится очень простым при использовании пакета FastAPI. После установки и импорта вы можете создать приложение FastAPI и указать несколько конечных точек. Каждой..

    Веселье с прокси-сервером JavaScript
    Прокси-серверы JavaScript — это чистый сахар, если вы хотите создать некоторую общую логику в своих приложениях, чтобы облегчить себе жизнь. Вот один пример: Связь клиент-сервер Мы..

    Получить бесплатный хостинг для разработчиков | Разместите свой сайт за несколько шагов 🔥
    Статические веб-сайты — это веб-страницы с фиксированным содержанием и его постоянным содержанием. Но теперь статические сайты также обрабатывают динамические данные с помощью API и запросов...