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

Zar*_*Zar 4 php ubuntu travis-ci ubuntu-12.04 ubuntu-14.04

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

"require": {
    "ext-apc": "~4.0"
}
Run Code Online (Sandbox Code Playgroud)

哪个很棒。尝试使应用程序在Travis-CI上运行并不顺利,因为它们运行的​​Ubuntu 12.04不包含该php5-apcu软件包,其结果是:

E:无法找到软件包php5-apcu

安装php-apc不满足ext-apcu要求,我宁愿不要推广不推荐使用的软件包。

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

skr*_*zek 5

您可以轻松地从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
Run Code Online (Sandbox Code Playgroud)

如果您需要更复杂的解决方案,例如多个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"
    - [...]
[...]
Run Code Online (Sandbox Code Playgroud)

测试愉快