【问题标题】:How to get wercker environment vars from php?如何从 php 获取 wercker 环境变量?
【发布时间】:2015-10-22 01:47:52
【问题描述】:

我目前正在为用 PHP 编写的 API 编写单元测试。这个 API 在每个请求之前实现了一个 RateLimiting 步骤,我想在测试应用程序时避免这个步骤。

现在,如果我想在本地运行测试,我只需检查本地 IP,即“::1”。但是我在访问我的持续集成服务器提供的环境变量时遇到了问题(我使用的是wercker)。

如果我从 PHPUnit 测试运行它:

var_export(isset($_SERVER["CI"]) || isset($_SERVER["wercker"]));

我得到true,但如果我在应用速率限制之前做了类似的事情:

if (isset($_SERVER["CI"]) || $request->getIp() === "::1") {
   return;
} else {//...

wercker 测试不断失败,因为它从不跳过速率限制逻辑。请注意,第一段代码是从 PHPUnit 中的测试运行的,而第二段代码是服务器应用程序的一部分。

我对环境变量做错了什么?

如果我必须提供更多信息或文件,请告诉我。

【问题讨论】:

    标签: php variables environment rate-limiting wercker


    【解决方案1】:

    我能够通过使用 PHP 的 getenv 函数使其工作

    if (getenv("CI") ||  $request->getIp() === "::1") {
        return;
    } else {//...
    

    【讨论】:

      【解决方案2】:

      要显示 Wercker 服务器上的所有环境变量,请添加此步骤(例如:在构建部分):

      build:
          steps:
              - script:
                  name: show env vars
                  code: env
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-11-22
        • 1970-01-01
        • 1970-01-01
        • 2021-10-19
        • 2012-06-18
        • 1970-01-01
        • 2016-03-09
        • 2020-03-30
        相关资源
        最近更新 更多