У меня есть приложение Symfony, которое зависит от APCu (php5-apcu
). На сервере запущен PHP 5.6 на Ubuntu 15.04. APCu требуется как зависимость через композитор, то есть:
"require": {
"ext-apc": "~4.0"
}
Что отлично работает. Попытка получить приложение, запущенное на Travis-CI, не так гладко, так как они запускают Ubuntu 12.04, у которого нет пакета php5-apcu
, который дает:
E: Не удается найти пакет php5-apcu
Установка php-apc
не соответствует требованию ext-apcu
, и я бы предпочел не продвигать устаревшие пакеты.
Любые предложения по настройке APCu на Travis CI? Предпочтительно без ручной загрузки пакета.
Вы можете легко установить расширение apcu из pecl.
Вот пример файла .travis.yml:
language: php
php:
- 5.6
before_script:
- pear config-set preferred_state beta
- yes '' | pecl install apcu
script:
- cd tests/ && phpunit
Если вам нужно более сложное решение, например несколько версий php, вы сможете легко принять решение из репозитория доктрины/кеша (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"
- [...]
[...]
Счастливое тестирование