Работаю на CentOS.
Я следил за учебниками:
Поскольку я использую Apache, я тоже следил за этой страницей:
Я сделал контроллер по умолчанию и шаблон по умолчанию. С этим контроллером (/) я получаю следующую ошибку (на панели инструментов отладки):
An error occurred while loading the web debug toolbar. Open the web profiler.
Когда я нажимаю ссылку «Открыть веб-профилировщик», я вижу ответ Apache:
Not Found
The requested URL /_profiler/177403 was not found on this server.
В инспекторе Chrome я вижу: GET http://172.31.18.7/_wdt/177403 404 (не найдено)
Вот интересная часть моего composer.json:
"require": {
"php": "^7.1.3",
"ext-iconv": "*",
"doctrine/doctrine-fixtures-bundle": "^3.0",
"sensio/framework-extra-bundle": "^5.1",
"sonata-project/admin-bundle": "^3.35",
"sonata-project/doctrine-orm-admin-bundle": "^3.6",
"symfony/apache-pack": "^1.0",
"symfony/console": "^4.0",
"symfony/flex": "^1.0",
"symfony/framework-bundle": "^4.0",
"symfony/lts": "^4@dev",
"symfony/maker-bundle": "^1.4",
"symfony/orm-pack": "^1.0",
"symfony/requirements-checker": "^1.1",
"symfony/security-bundle": "^4.0",
"symfony/twig-bundle": "^4.0",
"symfony/validator": "^4.0",
"symfony/yaml": "^4.0"
},
"require-dev": {
"sensiolabs/security-checker": "^4.1",
"symfony/dotenv": "^4.0",
"symfony/web-profiler-bundle": "^4.0"
},
мой httpd.conf:
<VirtualHost *:80>
DocumentRoot /var/www/html/elora/public
ServerName eloradev
ServerAlias www.elora.dev
DirectoryIndex index.php
<Directory "elora/public">
AllowOverride all
Order Allow,Deny
Deny from all
Allow from 127.0.0.1
Allow from ::1
Allow from localhost
</Directory>
<Directory elora>
Options FollowSymlinks
</Directory>
ErrorLog /var/apache/logs/error.log
CustomLog /var/apache/logs/access.log combined
</VirtualHost>
И мой .htaccess:
DirectoryIndex index.php
<IfModule mod_negotiation.c>
Options -MultiViews
</IfModule>
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_URI}::$1 ^(/.+)/(.*)::\2$
RewriteRule ^(.*) - [E=BASE:%1]
RewriteCond %{HTTP:Authorization} .
RewriteRule ^ - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteRule ^index\.php(?:/(.*)|$) %{ENV:BASE}/$1 [R=301,L]
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^ - [L]
RewriteRule ^ %{ENV:BASE}/index.php [L]
</IfModule>
<IfModule !mod_rewrite.c>
<IfModule mod_alias.c>
RedirectMatch 307 ^/$ /index.php/
</IfModule>
</IfModule>
И, наконец, мой / lucky / number (https://symfony.com/doc/current/page_creation.html) вызывает сообщение apache:
Not Found
The requested URL /lucky/number was not found on this server.
Похоже, что компонент маршрутизации не работает.
Правила маршрутизатора (отладка: маршрутизатор):
-------------------------- -------- -------- ------ -------------------
Name Method Scheme Host Path
-------------------------- -------- -------- ------ -----------------------
app_homepage ANY ANY ANY /
app_lucky ANY ANY ANY /lucky
app_lucky_number ANY ANY ANY /lucky/number
_twig_error_test ANY ANY ANY /_error/{code}.{_format}
_wdt ANY ANY ANY /_wdt/{token}
_profiler_home ANY ANY ANY /_profiler/
_profiler_search ANY ANY ANY /_profiler/search
_profiler_search_bar ANY ANY ANY /_profiler/search_bar
_profiler_phpinfo ANY ANY ANY /_profiler/phpinfo
_profiler_search_results ANY ANY ANY /_profiler/{token}/search/results
_profiler_open_file ANY ANY ANY /_profiler/open
_profiler ANY ANY ANY /_profiler/{token}
_profiler_router ANY ANY ANY /_profiler/{token}/router
_profiler_exception ANY ANY ANY /_profiler/{token}/exception
_profiler_exception_css ANY ANY ANY /_profiler/{token}/exception.css
-------------------------- -------- -------- ------ -----------------------
На всякий случай я вручную создал каталог / _wdt, но он ничего не изменил.
Ошибки проверял с помощью debug: event-dispatcher, ничего особенного.
Я заметил, что кеш для профилировщика находится в этом каталоге: var / cache / dev / profiler / 03/74 / и называется 177403
Еще одна вещь, я запустил composer с пользователем root. И я использовал chown, чтобы сменить владельца моего проекта.
Вот часть моего файла .env:
###> symfony/framework-bundle ###
APP_ENV=dev
Я вижу это снова и снова. Чтобы исправить это, я удаляю все под var\cache, а \var\session перезапускаю Apache, а затем снова прогреваю кеш или просто запускаю сайт и позволяю кешу восстановить. Занимает минутку дольше, но решает проблему
Я не вносил никаких изменений в base.html.twig, поэтому с тегами все в порядке. Я забыл сказать, что я сделал контроллер по умолчанию и шаблон по умолчанию. Вот как я получил сообщение «Произошла ошибка при загрузке панели инструментов веб-отладки»
Я столько раз очищал кеш ... Я тоже перезапустил Apache. Ничего нового.
Проверьте свои правила маршрутизации в routing-dev.yml и посмотрите, есть ли у вас какие-либо правила для отладчика.
Попробуйте запустить bin/console debug:event-dispatcher, чтобы проверить ошибки
Вы пробовали URL-адрес http://www.elora.dev/index.php/_wdt/? У меня была аналогичная проблема, потому что переписывание URL было неправильным.
ПРЕКРАСНАЯ РАБОТА ! Думаю, это моя проблема. Работает url /index.php/lucky/number Спасибо!






Il звучит как проблема записи в кеш. Сбой панели инструментов профилировщика / отладки, поскольку данные отладки записываются в папку кеша. Ваше приложение, вероятно, нормально работает в среде prod.
Чтобы узнать, не в этом ли проблема, попробуйте запустить chmod -R 777 var/cache и повторите попытку.
«Лучшее исправление» зависит от вашей ОС. Не стесняйтесь добавлять дополнительную информацию, чтобы ответить точно, в противном случае вы можете взглянуть на относящуюся к Symfony документацию здесь (устаревшая ссылка намеренно, они удалили ее из документа SF4).
Спасибо за ответ, но я уже выполнил chmod 777 для var / cache, и setfacl ничего не изменил. Мое приложение работает в среде dev.
Как я уже сказал, я заметил, что кеш для профилировщика находится в этом каталоге: var / cache / dev / profiler / 03/74 / и называется 177403, поэтому нет никаких проблем с записью в кеш.
Поскольку ответ находится в комментарии, я повторяю его:
Вы пробовали URL http://www.elora.dev/index.php/_wdt/? У меня была аналогичная проблема, потому что переписывание URL было неправильным. - А.Л
Это оно !
Большое спасибо А.Л
Я думаю, это требует htaccess или mod_rewrite
composer require symfony/apache-pack
Настройка веб-сервера
https://symfony.com/doc/current/setup/web_server_configuration.html
Спасибо, что это решило проблему для меня, когда я запускал приложение symfony в бродячем ящике для разработки.
В моем случае я хотел работать с файлом .htaccess или без него, поэтому в итоге получил другую конфигурацию vhost, для получения дополнительной информации: ourcodeworld.com/articles/read/793/…
@DennisdeBest К сожалению, это не сработало при запуске приложения Symfony в усадьбе laravel: /
просто добавь :
FallbackResource /index.php
в настройках вашего каталога
<Directory "/Library/WebServer/Documents/Your_public_symfony_directory">
....
FallbackResource /index.php
....
</Directory>для получения дополнительной документации кликните сюда
Спасибо, это сработало с Laragon (Apache 2.4 + PHP 7.2).
composer require symfony/apache-pack
Do you want to execute this recipe?
[y] Yes
[n] No
[a] Yes for all packages, only for the current installation session
[p] Yes permanently, never ask again for this project
(defaults to n): y
Хост-файл:
127.0.0.1 symfony01.com
127.0.0.1 www.symfony01.com
httpd-vhosts.conf:
<VirtualHost *:80>
ServerName symfony01.com
ServerAlias www.symfony01.com
DocumentRoot "c:/wamp64/www/symfony01/public"
<Directory "c:/wamp64/www/symfony01/public/">
Options +Indexes +Includes +FollowSymLinks +MultiViews
AllowOverride All
Require local
</Directory>
</VirtualHost>
Спасибо! Я забыл про apache-pack
Иногда у вас может быть маршрут в ваших контроллерах, который перехватывает /_wdt/125121, примерно так:
@Route("/{_locale}/{courseSlug}", name = "learning_course")
Запросы для веб-панели инструментов debug будут здесь routed вместо правильного контроллера.
Используйте route requirements или исправьте свои маршруты.
У меня была такая же ошибка, и эти решения не помогли. В моем случае это была гораздо более простая проблема. Я обновил symfony с 4.2 до 4.3, но не другие пакеты (включая веб-профилировщик). Ой! Проверьте версию веб-профилировщика в composer.json.
Обновление Symfony с 4.2 до 4.3 привело к поломке Web Profiler
Если вы используете symfony v5. *
перейдите к your_project_root > public, создайте новый файл с именем .htaccess
Просто вставьте код:
DirectoryIndex index.php
<IfModule mod_negotiation.c>
Options -MultiViews
</IfModule>
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_URI}::$1 ^(/.+)/(.*)::\2$
RewriteRule ^(.*) - [E=BASE:%1]
RewriteCond %{HTTP:Authorization} .
RewriteRule ^ - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteRule ^index\.php(?:/(.*)|$) %{ENV:BASE}/$1 [R=301,L]
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^ - [L]
RewriteRule ^ %{ENV:BASE}/index.php [L]
</IfModule>
<IfModule !mod_rewrite.c>
<IfModule mod_alias.c>
RedirectMatch 307 ^/$ /index.php/
</IfModule>
</IfModule>
если вам нужна дополнительная информация, вы можете посетить здесь
Я сам работал над проектом Symfony 5. * и был новичком в фреймворке. Ваш ответ определенно помог.
У меня была ошибка:
Impossible to access an attribute ("nb_errors") on a string variable
Обновление до Symfony с 4.2 до 4.3 решило мою проблему
см. https://github.com/symfony/symfony/issues/32018
Как это связано с заданным вопросом? Похоже на совсем другую ошибку
ошибка, на которую я указал, после ее устранения ошибка «Произошла ошибка при загрузке панели инструментов веб-отладки» исчезла
В качестве небольшого дополнения к предыдущим ответам, если это происходит с кем-то в целом, когда панель инструментов действительно работала раньше:
это также может быть вызвано неудачным переименованием, которое можно было сделать небрежно с помощью заменить все.
В этом случае может быть даже достаточно просто выдать:
bin/console cache:clear
Тогда у вас, вероятно, тоже происходит что-то еще. Вы также проверили возможные причины из предыдущих ответов? Кроме того, вы можете захотеть как можно более «жестко» очистить ваш браузер от кеширования.
Можете ли вы проверить, закрыли ли вы теги body и html?