在 Travis 中检测 PHP 版本

Detect PHP version in Travis

在我的 Travis 文件中,我有几个 PHP 版本和一个这样的脚本条目:

php:
    - 5.6
    - 5.5
    - 5.4
    - 5.3

script:
    - export CFLAGS="-Wno-deprecated-declarations -Wdeclaration-after-statement -Werror"
    - phpize #and lots of other stuff here.
    - make

只有当 PHP 版本匹配 5.6 时,我才想 运行 export CFLAGS 行。

理论上我可以通过一个讨厌的 hack 来检测命令行中的 PHP 版本,但是我如何通过 Travis 配置脚本来做到这一点?

您可以使用 shell 条件来执行此操作:

php:
    - 5.6
    - 5.5
    - 5.4
    - 5.3

script:
    - if [[ ${TRAVIS_PHP_VERSION:0:3} == "5.6" ]]; then export CFLAGS="-Wno-deprecated-declarations -Wdeclaration-after-statement -Werror"; fi
    - phpize #and lots of other stuff here.
    - make

或将构建矩阵与 explicit inclusions 一起使用:

matrix:
    include:
      - php: 5.6
        env: CFLAGS="-Wno-deprecated-declarations -Wdeclaration-after-statement -Werror"
      - php: 5.5
        env: CFLAGS=""
      - php: 5.4
        env: CFLAGS=""
      - php: 5.3
        env: CFLAGS=""

script:
    - phpize #and lots of other stuff here.
    - make

后者可能是您要查找的内容,前者不太冗长。