如何部署symfony2 - 我的开发环境有效但不生产

时间:2012-11-14 06:02:14

标签: deployment symfony-2.0

我已阅读有关将symfony2应用程序部署到生产环境的手册。我发现它在开发模式下运行良好,但是prod模式首先不允许登录(虽然我在开发模式下使用那些凭据登录时表示不良凭据),之后又进行了额外的清除和加温运行在prod缓存中,我只是从我的prod路线获得http500。

我查看了配置文件,并想知道这是否与它有关:

config_dev.php:

imports:
    - { resource: config.yml }

framework:
    router:   { resource: "%kernel.root_dir%/config/routing_dev.yml" }
    profiler: { only_exceptions: false }

web_profiler:
    toolbar: true
    intercept_redirects: false

monolog:
    handlers:
        main:
            type:  stream
            path:  %kernel.logs_dir%/%kernel.environment%.log
            level: debug
        firephp:
            type:  firephp
            level: info

assetic:
    use_controller: true

config_prod:

imports:
    - { resource: config.yml }

#doctrine:
#    orm:
#        metadata_cache_driver: apc
#        result_cache_driver: apc
#        query_cache_driver: apc

monolog:
    handlers:
        main:
            type:         fingers_crossed
            action_level: error
            handler:      nested
        nested:
            type:  stream
            path:  %kernel.logs_dir%/%kernel.environment%.log
            level: debug

我还注意到有一个routing_dev.php但是没有routing_prod,prod encironment在我的localhost上工作得很好,所以......?

1 个答案:

答案 0 :(得分:0)

在生产环境中运行app / console cache:warmup命令时,需要确保按以下方式运行:app/console cache:warmup --env=prod --no-debug另外,请记住该命令会将缓存预热为当前用户,因此所有文件将由当前用户拥有,而不是Web服务器用户(例如:www-data)。这可能是您收到500服务器错误的原因。预热后,缓存运行:chown -R www-data.www-data app/cache/prod(确保将www-data替换为您的Web服务器用户。

确保您的 parameters.ini 文件具有适当的配置,因为此文件的公共内容不会签入您可能正在使用的任何代码存储库。或者(我甚至已经这样做了)可能只是忘记将dev中的参数放入prod parmeters.ini文件中。

您还需要查看app / logs / prod.log,了解尝试登录时会发生什么。