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

Using APCu on Travis CI, which runs Ubuntu 12.04

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

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

效果很好。尝试在 Travis-CI 上获取应用程序 运行ning 并不那么顺利,因为它们 运行 Ubuntu 12.04 没有 php5-apcu 包,它产生:

E: Unable to locate package php5-apcu

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

关于如何在 Travis 上设置 APCu 的任何建议 CI?最好不用手动下载包。

您可以轻松地从 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) 中的解决方案。 他们 运行 针对 php 5.3 - 5.6 和 hhvm 的测试具有以下 before_script:

[...]
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"
    - [...]
[...]

测试愉快