编辑:
您提取了
TRAVIS_PHP_VERSION
并将其与5个字符进行比较。。这当然行不通。您可以尝试:
if [[ ${TRAVIS_PHP_VERSION:0:5} == "7.2.0" ]]
或
if [[ ${TRAVIS_PHP_VERSION:0:3} == "7.2" ]]
结束编辑
我在Travis配置文件中运行脚本时遇到了一些问题,因为我需要空行和注释,Travis对此感到困惑。因此,一般来说,我建议在单独的bash文件中编写脚本。
最简单的方法是在脚本文件中执行所有bash脚本,并在travis中使用脚本文件。yml公司
before_install: ./travis-scripts/before_install.sh
现在,您可以使用bash语法编写脚本,它们可以立即工作。
如果仍要在travis文件中编写脚本,请尝试这样做(并非每次都对我有效):
install: >
if [[ ${TRAVIS_PHP_VERSION:0:3} == "7.2" ]]; then pecl install libsodium; fi;
if [[ ${TRAVIS_PHP_VERSION:0:3} == "7.2" ]]; then echo "extension=sodium.so" >> ~/.phpenv/versions/$(phpenv version-name)/etc/php.ini; fi;
travis_retry composer install --no-interaction;
wget -c -nc --retry-connrefused --tries=0 https://github.com/satooshi/php-coveralls/releases/download/v1.0.1/coveralls.phar;
chmod +x coveralls.phar;
php coveralls.phar --version;
或者保持原样,只在if语句中加引号。