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

标签 php ubuntu ubuntu-12.04 ubuntu-14.04 travis-ci

我有一个依赖于 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/

相关文章:

php - 无法在 Nginx 上使用 Laravel 在 PhpStorm 中触发 Xdebug 中断

linux - 设置 debconf 以非交互方式运行的方法?

python-2.7 - 如何在Ubuntu 12.04中安装python-matplotlib?

php - Laravel 获取所有带条件的子节点数

linux - Eclipse、Subversion 和项目迁移

ruby-on-rails-3 - mongodb CPU占用率高

ubuntu - 如何在 Ubuntu 12.04.1 上安装 Aptana?

php - 使用 PHP 检查 AllowOverride 值?

php - 提交联系表单并使用 validate.js

php - 在 Google API PHP 客户端库中找不到 Google_Client.php