Travis CI仅运行PHP 5.5+ Behat测试,解析错误有关短数组语法[]

时间:2014-01-26 20:17:52

标签: php behat travis-ci

我正试图让特拉维斯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上工作)。

1 个答案:

答案 0 :(得分:0)

我也得到这个错误,因为...这是因为apt-get install添加了覆盖实际PHP版本的PHP 5.3包。

删除apt-get install ...,事情应该有效。如果你做不到,那么你和我有同样的问题: - )

祝你好运