我有一个symfony应用程序,它依赖于apcu(php5-apcu)。服务器在ubuntu 15.04上运行php 5.6。APCU需要通过composer作为依赖项,即:

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

效果很好。尝试让应用程序在travis ci上运行并不是那么顺利,因为它们运行的是ubuntu 12.04,它没有php5-apcu包,这会产生:
E:找不到包php5 apcu
安装php-apc不满足ext-apcu要求,我不希望升级不推荐的包。
关于如何在travis ci上设置apcu有什么建议吗?最好不要手动下载包。

最佳答案

您可以从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版本,那么您应该能够轻松地采用docine/cache存储库(https://github.com/doctrine/cache/blob/master/.travis.yml)中的解决方案。
他们对php 5.3-5.6和hhvm使用以下before_脚本运行测试:
[...]
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"
    - [...]
[...]

快乐测试

07-27 20:41