在 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
后者可能是您要查找的内容,前者不太冗长。
在我的 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
后者可能是您要查找的内容,前者不太冗长。