2013-05-13 75 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減去字節碼緩存。

相關問題