繁体   English   中英

Symfony 命令 php bin/控制台无法读取 Apache SetEnv?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM