[英]Symfony command php bin/console can't read Apache SetEnv?
使用 Symfony 5.2,当我执行此命令时
APP_ENV=prod php bin/console d:m:m
我有这个消息:
警告。 您即将在数据库“db_name”中执行迁移,该迁移可能...
但是,在我的 Apache 环境变量中,我自定义了数据库名称:
SetEnv DATABASE_URL "mysql://website:password@localhost:3306/website_prod"
我确信此配置有效(当我访问该站点时,我处于prod
环境中,而我将dev
留在 Symfony 生成的.env
中)。
为什么APP_ENV=prod php bin/console d:m:m
命令行显示错误的数据库? 我认为 php php bin / console...
命令行中没有考虑 Apache 变量,我需要创建一个特定的.env.prod.local
。
你能确认吗? 如果是,我不明白为什么 Symfony 在他们的文档中提到了这一点( https://symfony.com/doc/current/setup/web_server_configuration.html#apache-with-mod-php-php-cgi )
控制台命令不在网络服务器下运行,因此它们无权访问您对 Apache 虚拟主机或类似的任何配置。
处理这种配置的最佳方法是将这些值存储在环境变量、 .env
文件中,或者使用 Symfony 的秘密管理功能。
这样,当通过网络服务器或命令行脚本访问时,应用程序都可以使用此配置。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.