当前位置: 首页 > 面试题库 >

为理论和elasticsearch设置环境变量

顾英发
2023-03-14
问题内容

如何为symfony设置环境变量

就像我运行我的项目一样,它应该解开环境并执行操作,例如-

http: //production.com -> prod * environment *
http: //localhost:9200 -> * dev * environment --- for elasticsearch
http: //localhost:8000 -> * dev * environment --- for doctrine/mysql

因此,如果我在本地主机上运行mysql请求,则应在以下位置发出请求

http: //localhost:8000

如果我提出对Elasticsearch的要求,则应在以下位置提出要求

http: //localhost:9200

如果它在生产环境中运行,则应在

http: //production.com:9200 --- elasticsearch
http: //production.com:8000 --- doctrine/mysql

我认为可以做到这一点,parameters.yml但我真的不知道如何做到。

有人可以帮我解决这个问题。非常感谢高级。


问题答案:

我不确定这是什么问题,因此我将为您提供更一般的答案。

Symfony提供了一种非常好的方式来针对不同情况(或环境)配置项目。您应该看一下详细解释事情的官方文档。

默认情况下,Symfony具有针对不同环境的3种配置:

  1. app/config/config_dev.yml 为了发展
  2. app/config/config_prod.yml 用于生产
  3. app/config/config_test.yml 用于(单元)测试

每个配置文件都可以覆盖基本配置文件中的设置app/config/config.yml。您将在此处存储常规/通用设置。每当需要为特定环境覆盖某些内容时,只需转到环境配置并进行更改。

假设您在中具有以下基本配置app/config/config.yml

# Doctrine Configuration
doctrine:
    dbal:
        driver:   pdo_mysql
        host:     "%prod_database_host%"
        port:     "%prod_database_port%"
        dbname:   "%prod_database_name%"
        user:     "%prod_database_user%"
        password: "%prod_database_password%"
        charset:  UTF8

现在让我们说,你必须为每个环境中3级不同的数据库-
proddevtest。这样做的方法是覆盖环境配置文件中的配置(让我们说app/config/config_dev.yml

# Doctrine Configuration
doctrine:
    dbal:
        driver:   pdo_mysql
        host:     "%dev_database_host%"
        port:     "%dev_database_port%"
        dbname:   "%dev_database_name%"
        user:     "%dev_database_user%"
        password: "%dev_database_password%"
        charset:  UTF8

在和中添加必要的%dev_*%参数。现在,每当您使用环境打开应用程序时,它将在您的参数()中连接到指定的数据库。app/config/parameters.yml.dist``app/config/parameters.yml``dev``%dev_database...%

差不多了。您可以对在特定环境中需要更改的任何配置执行相同的操作。您绝对应该看一下文档。通过示例直接说明。



 类似资料:
  • 问题内容: 对于Windows 7,我已经安装了32位和64位版本的JDK。所有四个安装的版本均为8,更新为20。 http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 当我下载并解压缩elasticsearch并运行/bin/service.bat或/bin/elasticsearc

  • 问题内容: 我想通过运行程序时设置环境变量。这可能吗? 我试图这样设置: 但是结果消息说FOO不存在。 问题答案: 您必须传递一个包含键 env 的选项对象,该键 env 的值本身就是键值对的对象。

  • ENV 设置环境变量 格式有两种: ENV <key> <value> ENV <key1>=<value1> <key2>=<value2>... 这个指令很简单,就是设置环境变量而已,无论是后面的其它指令,如 RUN,还是运行时的应用,都可以直接使用这里定义的环境变量。 ENV VERSION=1.0 DEBUG=on \ NAME="Happy Feet" 这个例子中演示了如何换行,以

  • 问题内容: 我在运行show时有一个file.sh:未设置TERM环境变量。 问题答案: 您可以看到它是否真的没有 设置 。运行命令。 如果没有,则可以这样设置:

  • 3.1.1.设置PATH环境变量 Android SDK里有个目录,主要的工具都在里面。我们将会频繁地用到这些工具,因此把你的~/android-sdk/tools/目录加入系统的环境变量PATH会是个好办法,这一来就不需要每次使用它们时都切换目录了。 不同系统设置环境变量的方式各有不同,详见Installing Android SDK页面中的第二步。 (译注:Installing Android

  • 当我加载我的应用程序时,我得到这个: 我正在尝试遵循这个:谷歌视觉文档 我已经运行了命令: 然后在客户端 Libary 上,它说我必须设置一个客户端库?我已经用他所有正确的事情做了这件事,然后它说- 接下来,通过将环境变量GOOGLE_APPLICATION_CREDENTIALS设置为指向在上一步中下载的JSON文件,为应用程序代码提供凭据。 并执行以下操作:< code >设置GOOGLE _