在运行 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"
- [...]
[...]
测试愉快
我有一个依赖于 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"
- [...]
[...]
测试愉快