首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP CLI环境检测

PHP CLI环境检测
EN

Stack Overflow用户
提问于 2015-12-25 03:34:21
回答 2查看 368关注 0票数 0

我有一台Linux服务器,上面有很多不同的网站。当我编写网站程序时,我会在本地开发它们,并将APPLICATION_ENV设置为开发。在我的服务器上,我有一个staging子域设置,我将APPLICATION_ENV设置为staging。最后,如果我最终托管生产网站,我可以将APPLICATION_ENV设置为production。所有这些都运行得很好,但最近我在每次部署后都运行CLI任务。我的命令行脚本显然不能对我通过Apache设置的APPLICATION_ENV变量做任何事情。我知道你可以这样导出一个变量:

导出APPLICATION_ENV=“暂存”

然而,这将是在我的整个服务器上设置它,而我真的只想在登台子域上设置它。有没有办法将这些变量包含到我服务器上的子域中?

EN

回答 2

Stack Overflow用户

发布于 2015-12-25 03:45:18

对于您问题的标题:

代码语言:javascript
复制
if (PHP_SAPI == 'cli') {
    echo 'This is CLI mode!' . PHP_EOL;
    var_dump($argv);
}

有关说明,请参阅:

我认为您可以使用args设置CLI值,或者(在源代码中)将其设置为内部APPLICATION_ENV应用程序ENV模式。

票数 1
EN

Stack Overflow用户

发布于 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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34457187

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档