我正试图让特拉维斯CI进行我的Behat验收测试。
我在开发中使用了PHP 5.5,目前我并不关心与以前的PHP版本的兼容性。我在整个应用程序中广泛使用了PHP 5.4中引入的短数组[]
语法。
我只是试图在5.5+以上运行我的测试,我得到一个解析错误:
解析:语法错误,意外'['
如果我回复$TRAVIS_PHP_VERSION
我得到'5.5'。
我的travis.yml
看起来像这样:
language: php
php:
- 5.5
before_script:
- sudo apt-get install nginx
- sudo apt-get install php5-fpm
- sudo apt-get install php5-cli
- sudo cp $TRAVIS_BUILD_DIR/vhost.template /etc/nginx/sites-enabled/fridge-subscription-demo.local
- sudo sed 's|APP_URLS|fridge-subscription-demo.local|g;s|APP_PATH|/home/travis/build/EddyLane/DemoSubscriptionBundle|g;s|APP_NAME|fridge-subscription-demo.local|g' /etc/nginx/sites-enabled/fridge-subscription-demo.local --in-place
- composer update
- app/console doc:database:create
- app/console doc:schema:update --force
- app/console cache:warm
- sudo chmod -R 0777 $TRAVIS_BUILD_DIR/app/cache
- sudo chmod -R 0777 $TRAVIS_BUILD_DIR/app/logs
- sudo service nginx restart
- sudo service php5-fpm restart
- echo $TRAVIS_PHP_VERSION
script:
- ./bin/behat --config behat.yml
addons:
hosts:
- fridge-subscription-demo.local
vhost已正确安装,看起来很好,它只是在遇到短数组语法时仍然失败。
此项目是开源的,可在此处获取:https://github.com/EddyLane/DemoSubscriptionBundle(目前正试图让Travis在分支机构travis
上工作)。
答案 0 :(得分:0)
我也得到这个错误,因为...这是因为apt-get install添加了覆盖实际PHP版本的PHP 5.3包。
删除apt-get install ...
,事情应该有效。如果你做不到,那么你和我有同样的问题: - )