我有一台Linux服务器,上面有很多不同的网站。当我编写网站程序时,我会在本地开发它们,并将APPLICATION_ENV设置为开发。在我的服务器上,我有一个staging子域设置,我将APPLICATION_ENV设置为staging。最后,如果我最终托管生产网站,我可以将APPLICATION_ENV设置为production。所有这些都运行得很好,但最近我在每次部署后都运行CLI任务。我的命令行脚本显然不能对我通过Apache设置的APPLICATION_ENV变量做任何事情。我知道你可以这样导出一个变量:
导出APPLICATION_ENV=“暂存”
然而,这将是在我的整个服务器上设置它,而我真的只想在登台子域上设置它。有没有办法将这些变量包含到我服务器上的子域中?
发布于 2015-12-25 03:45:18
对于您问题的标题:
if (PHP_SAPI == 'cli') {
echo 'This is CLI mode!' . PHP_EOL;
var_dump($argv);
}有关说明,请参阅:
我认为您可以使用args设置CLI值,或者(在源代码中)将其设置为内部APPLICATION_ENV应用程序ENV模式。
发布于 2015-12-25 03:46:46
在服务器范围内设置环境变量并没有什么错,因为您只能为特定用户(甚至是会话)设置它们。
无论如何,最简单的方法可能是将"env“作为参数传递,例如:cli.php --env=staging
看看他们是如何在中解决这个问题的:
指定配置环境的
您可以使用--env开关指定在运行命令时应使用的配置环境:
php artisan migrate --env=local
Symfony:
$ php bin/console cache:clear --env=prod
https://stackoverflow.com/questions/34457187
复制相似问题