【问题标题】:ZF3 Development Mode VS Production ModeZF3开发模式VS生产模式
【发布时间】:2017-12-21 17:15:16
【问题描述】:

我在开发模式下使用 ZF3 和代码。我按照教程的建议进行了配置:

composer development-enable

因此,如果启用此模式,一切正常。如果我禁用它,我会收到一个数据库连接错误,如下所示:

连接错误:SQLSTATE[HY000] [1044] 拒绝用户访问 ''@'localhost' 到数据库'xyz'

我仍然在同一台计算机上工作。

那么它可能是什么错误?

主要话题是,如何在开发和生产之间进行更改的正确方法,composer 语句是否也明确使用生产配置文件?

如果我通过作曲家更改了模式,我还需要做什么?我真的很想,只要禁用就足够了:

composer development-disable

我是否也必须重命名开发配置文件?我们讨论的是哪些文件?只是application-config.phpdevelopment-config.php吗?

我应该在哪里以及如何放置不同的数据库连接?我现在使用你在上面看到的文件。

最后,如何更改生产服务器上的模式?我现在只是在我的开发系统上禁用了该模式,然后上传了孔项目。之后我只上传更改的文件。

EDIT1:这里附加一个屏幕截图,我在哪些文件夹中使用了哪些配置文件:

在我的 application.config.php 中,配置链接到:

 'config_glob_paths' => [
            realpath(__DIR__) . '/autoload/{{,*.}global,{,*.}local}.php',
        ],

在我的 development.config.php 中配置链接到

 'module_listener_options' => [
        'config_glob_paths' => [realpath(__DIR__) . '/autoload/{,*.}{global,local}-development.php'],
        'config_cache_enabled' => false,
        'module_map_cache_enabled' => false,
    ],

对我来说它看起来是正确的。我的数据库连接在local.php(用于生产)和local-development.php(用于开发模式)。

【问题讨论】:

    标签: php zend-framework zend-framework3


    【解决方案1】:

    启用/禁用模式与拥有/不拥有config/development.config.php 文件相同。

    如果你look closely,你会看到开发模式禁用了缓存。

    您的问题是缓存文件已创建(非开发模式),而配置不适用于环境。删除data/cache/application.config.cacheapplication.module.cache 中配置的config/application.config.php

    【讨论】:

    • 谢谢,这是我的理解问题,现在一切都很好
    【解决方案2】:

    如果您使用development-mode enable开发),则意味着config_cache_enabled 设置为false。所以moduleservicescontrollers 等新配置将由ZF3 加载,因为ZF3 不会从cache 读取配置(在data/cache/* 中)。

    如果 development-mode disable (Production) 配置将被缓存,因此当您使用我上面提到的新配置部署代码时,ZF3 不会读取。因为ZF3仍然读取cache中的配置。

    我通常在部署到生产环境时删除缓存。这里是我用于部署的示例shell script

    #/bin/bash
    rsync --exclude data --exclude .git -av temp_example.com/. /var/www/example.com/.
    echo -e "Removing cache..."
    rm  -f /var/www/example.com/data/cache/*.php
    

    所以,主键,如果你使用development-mode disable,只需在部署代码后删除cache即可。

    【讨论】:

      猜你喜欢
      • 2017-12-10
      • 1970-01-01
      • 1970-01-01
      • 2020-07-24
      • 1970-01-01
      • 1970-01-01
      • 2017-01-27
      • 1970-01-01
      • 2019-06-03
      相关资源
      最近更新 更多