2018-07-05 15:54 阅读 46

让一个本地的Symfony 2.8应用程序在prod环境中表现得像它一样

I have an application based on Symfony 2.8. A feature is working well in my local dev environment but failing in production. I want to make my local environment use prod mode in order to hopefully replicate the problem. What I have tried:

export SYMFONY_ENV=prod
app/console cache:clear --no-warmup

This appeared at first to be working, as I got a message about the cache being cleared in the prod environment, but when I loaded the app, the debug toolbar was visible and said I was in dev mode.

I have also tried looking in both parameters.yml and config.yml for any denotation of the environment. I didn't find anything.

What should I try next?

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

2条回答 默认 最新

  • 已采纳
    doupaxia2478 doupaxia2478 2018-07-05 17:01

    The answer can depend on a lot of factors: what web-server is used, what web-server config is used, do you use php-fpm or else, etc.

    Console commands like "export SYMFONY_ENV=prod" set environment only for console commands in the same session. But they can't affect your web server behavior.

    When you open a page of your project in a browser, the application doesn't know anything about commands what you have typed in a terminal. If you see a debug console probably the app entry point is "web/app_dev.php", and the environment is defined here like:

    // web/app_dev.php

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

    Try to change 'dev' by 'prod'

    点赞 评论 复制链接分享
  • doudong4532 doudong4532 2018-07-05 16:58

    Well, in symfony2 dev mode is being accessed through file web/app_dev.php, prod - web/app.php. So if you are using your own local web-server (apache or nginx), in order to see the app in prod mode, you may want to provide your web-server the default symfony configuration, e.g. as described here : https://symfony.com/doc/2.8/setup/web_server_configuration.html#nginx

    In case you are using symfony built-in web-server, you may want to use the solution ox160d05d provided. I would recommend using own local web-server though.

    点赞 评论 复制链接分享