在运行Ubuntu 12.04的Travis CI上使用APCu

时间:2015-08-24 14:22:29

标签: php ubuntu ubuntu-12.04 ubuntu-14.04 travis-ci

我有一个依赖于APCu(php5-apcu)的Symfony应用程序。服务器在Ubuntu 15.04上运行PHP 5.6。 APCu需要通过作曲家作为依赖,即:

"require": {
    "ext-apc": "~4.0"
}

哪个效果很好。试图让应用程序在Travis-CI上运行,并不是那么顺利,因为它们运行的​​是Ubuntu 12.04,它没有php5-apcu包,它产生:

  

E:无法找到包php5-apcu

安装php-apc不符合ext-apcu要求,我不想推广已弃用的软件包。

有关如何在Travis CI上设置APCu的任何建议?优选地,无需手动下载包。

1 个答案:

答案 0 :(得分:4)

您可以从pecl轻松安装apcu扩展。

这是一个示例.travis.yml文件:

language: php

php:
  - 5.6

before_script:
  - pear config-set preferred_state beta
  - yes '' | pecl install apcu

script:
  - cd tests/ && phpunit

如果您需要更复杂的解决方案,例如多个php版本,您应该能够轻松采用doctrine / cache存储库(https://github.com/doctrine/cache/blob/master/.travis.yml)中的解决方案。 他们使用以下的before_script运行针对php 5.3 - 5.6和hhvm的测试:

[...]
before_script:
    - [...]
    - sh -c "if [[ $TRAVIS_PHP_VERSION != 'hhvm' && `php-config --vernum` -ge 50500 ]] ; then pecl config-set preferred_state beta; printf "yes\n" | pecl install apcu ; else echo 'extension="apc.so"' >> ./tests/travis/php.ini ;fi"
    - [...]
[...]

快乐测试