0

我正面临一个问题,我的 Symfony 应用程序的构建过程失败,正如许多不同的论坛(最近没有)所解释的那样。例如:

使用 --no-dev 进行 composer install 时,仅安装生产包(应该如此)。然而,当 composer 启动 symfony 脚本时,它们会在开发模式下启动,因此当 AppKernel.php 找不到开发所需的包时开始抛出错误。这些脚本也应该在生产模式下执行!

报价来源

上述 Github 问题已关闭,因为它显然可以通过将SYMFONY_ENVenv 变量设置为您选择的环境来修复:export SYMFONY_ENV=prod.

我已经这样做了,并且printenv正确调用会打印变量。我什至可以php bin/console手动调用 Symfony 控制台。它将在环境中启动。prod

成功?看似,但没有......调用composer install仍然会强制所有脚本在dev环境中启动。是什么赋予了?

4

1 回答 1

0

根本原因似乎是没有在全局范围内设置环境变量,因此无论命令最终以何种用户身份运行,www-data通过我的部署脚本,或者root(正如我所说sudo composer的?)从控制台,都没有设置我创建的环境变量与我的默认用户。

在 中添加SYMFONY_ENV=prod新行/etc/environment,然后重新启动修复了问题,脚本现在在prod.

于 2017-03-20T23:12:10.307 回答