我有一个依赖于 APCu (php5-apcu
) 的 Symfony 应用程序。服务器在 Ubuntu 15.04 上运行 PHP 5.6。 APCu 需要通过 Composer 作为依赖项,即:
"require": {
"ext-apc": "~4.0"
}
效果很好。尝试让应用程序在 Travis-CI 上运行并不那么顺利,因为它们运行的是 Ubuntu 12.04,它没有 php5-apcu
包,它会产生:
E: Unable to locate package 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 版本,您应该能够轻松地采用 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"
- [...]
[...]
测试愉快
关于php - 在运行 Ubuntu 12.04 的 Travis CI 上使用 APCu,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32184700/