问题是:如何强制 php bin/console ..some cmd.. 始终作为 prod 环境运行!
我知道最后的选项 --env=prod 一切都很清楚,但是如何在生产服务器上配置 symfony 3.4 以使用 env=prod 运行所有?
我会更多地解释情况详细当我在 symfony 3.4 中运行时
php bin/console doctrine:migrations:migrate --no-interaction
我收到有关未安装 AppKernel 所需的开发依赖库的错误
有if条件
if (in_array($this->getEnvironment(), ['dev', 'test'], true)) {
$bundles[] = new Symfony\Bundle\DebugBundle\DebugBundle();
$bundles[] = new Symfony\Bundle\WebProfilerBundle\WebProfilerBundle();
//...
}
所以基本上就像我运行 SYMFONY_ENV=prod composer install --no-dev 使用 --no-dev 我没有安装开发依赖项,并且上面的迁移 comamdn 在这里失败。
最佳答案
在您的 bin/console
文件找到这一行(你的内核被实例化的地方):$kernel = new Kernel($_SERVER['APP_ENV'], (bool)$_SERVER['APP_DEBUG']);
或类似的,并用这个替换它:$kernel = new Kernel('prod', false);
关于php - 如何始终在 prod 模式下运行 symfony bin/console 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63576291/