2013-05-13 45 views
2

所以,我正在写一个PHP程序,它使用APC的缓存机制。我正在使用TravisCI进行持续集成,并在PHP 5.3,5.4和5.5上进行测试。对于APC的测试通过了V5.3和5.4,但未能在5.5以下消息...为什么APC不能在Travis-CI上的PHP v5.5中工作?

PHP Warning: PHP Startup: Unable to load dynamic library 
'/home/travis/.phpenv/versions/5.5.0beta1/lib/php/extensions/no-debug-non-zts-20121212/apc.so' - /home/travis/.phpenv/versions/5.5.0beta1/lib/php/extensions/no-debug-non-zts-20121212/apc.so: 
cannot open shared object file: No such file or directory in Unknown on line 0 

Warning: PHP Startup: Unable to load dynamic library 
'/home/travis/.phpenv/versions/5.5.0beta1/lib/php/extensions/no-debug-non-zts-20121212/apc.so' - /home/travis/.phpenv/versions/5.5.0beta1/lib/php/extensions/no-debug-non-zts-20121212/apc.so: 
cannot open shared object file: No such file or directory in Unknown on line 0 

我.travis.yml文件看起来像这样

## YAML Template. 
--- 
language: php 
php: 
    - "5.5" 
    - "5.4" 
    - "5.3" 
before_script: phpenv config-add tests/config.ini 
script: phpunit --configuration phpunit.xml 

我的测试/配置.ini文件看起来像这样

extension="apc.so" 

apc.enabled=1 
apc.enable_cli=1 

任何人都可以提供一些线索,为什么我能在APC V5.3和5.4的工作,而不是在5.5?这是PHP的问题,还是Travis的问题?

+0

[看看这个答案。](http://stackoverflow.com/questions/9611676/is-apc-compatible-with-php-5-4-or-php-5-5) – vanneto 2013-05-13 07:16:07

+0

@Vanneto哦,非常感谢那个提示 – 2013-05-13 07:26:02

回答

0

您需要在travis上编译APCu扩展,记住APC在PHP 5.5中不再可用。

您可以尝试在你的.travis.yml

printf "\n"| pecl install apcu 
echo "extension=apcu.so" >> `php --ini | grep "Loaded Configuration" | sed -e "s|.*:\s*||"` 

问候。

0

使用PHP5.5,内置的OpCache正在取代APC字节编码缓存功能。但是,OpCache不是像MemCache或APC那样的“常规”缓存。 要获得旧的非字节码缓存功能,您需要安装APC,即APC减去字节码缓存。

相关问题