Symfony 命令 php bin/console 无法读取 Apache SetEnv?
Symfony command php bin/console can't read Apache SetEnv?
使用 Symfony 5.2,当我执行这个命令时
APP_ENV=prod php bin/console d:m:m
我有这条消息:
WARNING! You are about to execute a migration in database "db_name" that could ...
但是,在我的Apache环境变量中,我自定义了数据库名称:
SetEnv DATABASE_URL "mysql://website:password@localhost:3306/website_prod"
我确定此配置有效(当我访问该站点时,我处于 prod
环境中,而我在 Symfony 生成的 .env
中离开 dev
)。
为什么APP_ENV=prod php bin/console d:m:m
命令行显示错误的数据库?我认为 php bin / console ...
命令行中没有考虑 Apache 变量,我需要创建一个特定的 .env.prod.local
.
你能确认一下吗?如果是,我不明白为什么 Symfony 在他们的文档中提到这个 (https://symfony.com/doc/current/setup/web_server_configuration.html#apache-with-mod-php-php-cgi)
控制台命令不在 Web 服务器下 运行,因此它们无权访问您为 Apache 虚拟主机或类似内容设置的任何配置。
处理这种配置的最佳方法是将这些值存储在环境变量、.env
文件中,或者使用 Symfony 的 secret management 功能。
这样,当通过网络服务器或命令行脚本访问应用程序时,此配置将对应用程序可用。
使用 Symfony 5.2,当我执行这个命令时
APP_ENV=prod php bin/console d:m:m
我有这条消息:
WARNING! You are about to execute a migration in database "db_name" that could ...
但是,在我的Apache环境变量中,我自定义了数据库名称:
SetEnv DATABASE_URL "mysql://website:password@localhost:3306/website_prod"
我确定此配置有效(当我访问该站点时,我处于 prod
环境中,而我在 Symfony 生成的 .env
中离开 dev
)。
为什么APP_ENV=prod php bin/console d:m:m
命令行显示错误的数据库?我认为 php bin / console ...
命令行中没有考虑 Apache 变量,我需要创建一个特定的 .env.prod.local
.
你能确认一下吗?如果是,我不明白为什么 Symfony 在他们的文档中提到这个 (https://symfony.com/doc/current/setup/web_server_configuration.html#apache-with-mod-php-php-cgi)
控制台命令不在 Web 服务器下 运行,因此它们无权访问您为 Apache 虚拟主机或类似内容设置的任何配置。
处理这种配置的最佳方法是将这些值存储在环境变量、.env
文件中,或者使用 Symfony 的 secret management 功能。
这样,当通过网络服务器或命令行脚本访问应用程序时,此配置将对应用程序可用。