Mysql 设置条令和弹性搜索的环境变量
如何为symfony设置环境变量 比如说,如果我运行我的项目,它就应该消除环境影响,并采取行动--- 因此,如果我在本地主机上运行mysql请求,它应该在Mysql 设置条令和弹性搜索的环境变量,mysql,symfony,
elasticsearch,Mysql,Symfony,
elasticsearch,如何为symfony设置环境变量 比如说,如果我运行我的项目,它就应该消除环境影响,并采取行动--- 因此,如果我在本地主机上运行mysql请求,它应该在 http: //localhost:8000 http: //production.com:9200 --- elasticsearch http: //production.com:8000 --- doctrine/mysql 如果我请求elasticsearch,它应该在 http: //localhost:9200 如果它在生
http: //localhost:8000
http: //production.com:9200 --- elasticsearch
http: //production.com:8000 --- doctrine/mysql
如果我请求elasticsearch,它应该在
http: //localhost:9200
如果它在生产环境中运行,它应该在
http: //localhost:8000
http: //production.com:9200 --- elasticsearch
http: //production.com:8000 --- doctrine/mysql
我认为它可以在parameters.yml
上完成,但我真的不知道如何完成
有人能帮我解决这个问题吗。
非常感谢advanced。我不确定这里有什么问题,所以我会给你一个更一般的答案 Symfony提供了一种非常好的方法来为不同的情况(或环境)配置项目。你应该看一看这本书,它深入地解释了事情 默认情况下,Symfony为不同的环境提供了3种配置:
app/config/config_dev.yml
用于开发app/config/config_prod.yml
用于生产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
# 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
现在,假设每个环境有3个不同的数据库-prod
、dev
和test
。实现这一点的方法是覆盖环境配置文件中的配置(比如app/config/config\u dev.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
# 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.\u数据库…%
)
基本上就是这样。在特定环境中,您可以对需要更改的任何配置执行相同的操作。您一定要查看文档。文档中有直接的示例说明。很高兴我能提供帮助!:)