我正面临一个问题,即我的Symfony应用程序的构建过程失败,正如许多不同的论坛(最近没有)所解释的那样。例如:
使用--no-dev进行作曲家安装时只能使用生产包 安装(应该是)。然而,当作曲家发布时 symfony脚本以开发模式启动,从而启动 当AppKernel.php无法找到所需的包时抛出错误 发展。这些脚本也应该在生产模式下执行!
上述Github问题已关闭,因为显然可以通过将SYMFONY_ENV
env变量设置为您选择的环境来修复:export SYMFONY_ENV=prod
。
我已经这样做了,并且调用printenv
正确地打印了变量。我甚至可以手动调用Symfony控制台php bin/console
。它将 在prod
环境中启动。
成功?看似但没有......调用composer install
仍会强制所有脚本在dev
环境中启动。是什么给了什么?
答案 0 :(得分:0)
根本原因似乎是没有全局设置的环境变量,因此无论用户命令最终运行的是什么,www-data
通过我的部署脚本,还是root
(我称之为{{1}来自控制台,没有我用默认用户创建的环境变量集。
在sudo composer
的新行中添加SYMFONY_ENV=prod
,然后重新启动修复了该问题,脚本现在正在/etc/environment
中运行。