Может кто-нибудь помочь мне переместить приложение Symfony 2 в рабочий режим?
В настоящее время приложение работает правильно в /app_dev.php
.
Я googling, но я не нахожу определенного руководства для развертывания в Symfony 2.
Может кто-нибудь помочь мне переместить приложение Symfony 2 в рабочий режим?
В настоящее время приложение работает правильно в /app_dev.php
.
Я googling, но я не нахожу определенного руководства для развертывания в Symfony 2.
Еще пару вещей, чтобы рассмотреть:
php app/console cache:clear --env=prod --no-debug
php app/console assets:install web_directory
php app/console assetic:dump web_directory
Вы также можете столкнуться с проблемами разрешений с каталогом кеша. Сначала я должен убедиться, что все работает в режиме разработки на сервере до перехода в режим производства. И если все, что вы получаете, это пустые экраны в режиме производства, тогда установите debug в true. И, конечно, знаете, как проверить журналы ошибок.
Перемещение Symfony2 на производство означает:
получить доступ к приложению через: app.php/
Пакеты тестовых dev не будут загружаться, так как в AppKernel.php есть условие, когда вы используете app.php. Если вы хотите выгрузить пакет, который должен использоваться только в dev, вы можете поместить их в этот раздел (в appKernel.php)
if (in_array($this->getEnvironment(), array('dev', 'test'))) {
$bundles[] = new Symfony\Bundle\WebProfilerBundle\WebProfilerBundle();
$bundles[] = new Sensio\Bundle\DistributionBundle\SensioDistributionBundle();
$bundles[] = new Sensio\Bundle\GeneratorBundle\SensioGeneratorBundle();
$bundles[] = new Sf2gen\Bundle\GeneratorBundle\Sf2genGeneratorBundle();
}
Вам также необходимо выполнить некоторую настройку сервера с помощью désactivating xdebug и добавления eacclerator (или еще чего-то другого для производительности кеширования).
Я также советю переименовать app_dev.php, чтобы отключить режим dev
Основная информация о конфигурации приведена здесь: http://symfony.com/doc/current/cookbook/configuration/web_server_configuration.html
Одним из важных мест, где многие люди спотыкаются, является управление активами. При доступе к приложению через внешний контроллер app.dev(см. Первую ссылку) может потребоваться сначала сбросить активы. Прочтите все об этом здесь: http://symfony.com/doc/current/cookbook/assetic/asset_management.html#cookbook-assetic-dumping
У Symfony CookBook теперь есть несколько рецептов о развертывании, которые охватывают:
Symfony2 Как создавать и создавать новые среды http://symfony.com/doc/current/cookbook/configuration/environments.html
В файле "web/app.php"
$kernel = new AppKernel('prod', false);
Измените значение на "true".
$kernel = new AppKernel('prod', true);
Теперь вы можете загрузить приложение в рабочем режиме.