Среды Symfony и панель отладки
Я новичок в Symfony. Я проводил некоторые тесты (Symfony 2.0.13 с php5.3.8 в WAMP2.2) и читал документацию, но я как-то запутался в окружении.
Когда я иду в LOCALHOST/Symfony/web/app_dev.php/demo/hello/Foo
(app_dev означает среду разработки, не так ли?) Я могу видеть веб-панель отладки и, щелкнув информацию о профилировщике, на вкладке "Конфигурация проекта" я вижу: Среда разработки
Теперь я иду в LOCALHOST/Symfony/web/app.php/demo/hello/Foo
и на панели инструментов веб-отладки (кстати, почему я сейчас вижу эту панель инструментов? Разве это не рабочая среда? Должны ли мои пользователи видеть эту панель по умолчанию?) Я также вижу на вкладке "Конфигурация проекта": Среда DEV
Кажется, что этот "демонстрационный" пакет каким-то образом связан с "dev", независимо от того, какой URL-адрес app_dev.php или app.php??
Более того, я провел еще несколько тестов: мой локальный IP-адрес - 192.168.153.1.
Когда я пытаюсь получить доступ к:
http://192.168.153.1/Symfony/web/app_dev.php/demo/hello/Foo
он говорит: "Вам не разрешен доступ к этому файлу. Проверьте app_dev.php для получения дополнительной информации". Итак, хорошо, если я отредактирую строки в app_dev.php и добавлю свой (внешний) IP, я смогу получить доступ.
НО, когда я подключаюсь к
http://192.168.153.1/Symfony/web/app.php/demo/hello/Foo
Это говорит то же самое! Таким образом, кажется, что мой app.php не выполняется, а app_dev.php выполняется независимо от того, что я ввожу в URL.
Это действительно сбивает с толку! Я проверил свой htaccess, и все, кажется, правильно.
Может кто-нибудь помочь мне понять это?
Я НЕ изменил код для app_dev.php и app.php, все просто "как есть" из коробки.
2012-05-02 РЕДАКТИРОВАТЬ
Произошло что-то странное. Я отредактировал мой config_prod.yml с этими строками:
# load the profiler
framework:
profiler: { only_exceptions: false }
# enable the web profiler
web_profiler:
toolbar: true
intercept_redirects: true
verbose: true
Сохранено, а затем отредактировано файл app.php. Хотел проверить, что случилось, если я изменился:
$kernel = new AppKernel('prod', false); //Symfony default
к
$kernel = new AppKernel('prod', true);
Когда я перешел в app.php/WHATEVER, появилась страница с ошибкой, поэтому я отменил все изменения, перезапустил Apache, и теперь панель инструментов WebDebug больше не отображается в PROD (app.php/WHATEVER)
Итак, я не знаю, как, но теперь, похоже, все работает как положено, хотя файл config_prod.yml и app.php находятся в исходном состоянии. Это также позволяет мне подключаться с помощью внешнего IP-адреса к app.php
Очень странно...
2 ответа
Вот ответ для тех, кто использует некорректный шаблон для вывода.
[Ссылка удалена для перенаправления на спам-сайт]
Просто скопировал для вас:
"Привет. У вас должен быть правильный HTML на странице, которую вы просматриваете. Я думаю, что панель отладки прикрепляется непосредственно перед </body>
, Так что если у вас есть такая страница (см. Ниже), вы должны увидеть панель отладки."
Код:
<html> <head>
</head> <body>
</body> </html>
Вам необходимо отключить IP-фильтрацию в app_dev.php. И вы сможете увидеть панель отладки с внешнего ip.
С уважением, Макс