Перемещение приложения в режим производства в Symfony 2

Может кто-нибудь помочь мне переместить приложение Symfony 2 в рабочий режим?

В настоящее время приложение работает правильно в /app_dev.php.

Я googling, но я не нахожу определенного руководства для развертывания в Symfony 2.

Ответ 1

Еще пару вещей, чтобы рассмотреть:

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. И, конечно, знаете, как проверить журналы ошибок.

Ответ 2

Перемещение 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

Ответ 3

Основная информация о конфигурации приведена здесь: 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

Ответ 6

В файле "web/app.php"

$kernel = new AppKernel('prod', false);

Измените значение на "true".

$kernel = new AppKernel('prod', true);

Теперь вы можете загрузить приложение в рабочем режиме.