2

そこで、キャッシュメカニズムに APC を使用する PHP プログラムを作成しています。継続的インテグレーションに TravisCI を使用し、PHP 5.3、5.4、および 5.5 でテストしています。APC のテストは、v5.3 と 5.4 ではパスしますが、5.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

私の tests/config.ini ファイルは次のようになります

extension="apc.so"

apc.enabled=1
apc.enable_cli=1

v5.3 および 5.4 では APC を動作させることができるのに、5.5 では動作させられない理由について、誰かが光を当てることができますか? これは PHP の問題ですか、それとも Travis の問題ですか?

4

3 に答える 3

2

これは、私が現在正常に使用している実用的なソリューションです: https://gist.github.com/till/7266839

基本的に、これにより 5.3 および 5.4 用の APC がインストールされ、5.5 用の APCu がインストールされます。

于 2014-01-10T16:27:10.137 に答える
0

PHP5.5 では、ビルトイン OpCache が APC バイト コーディング キャッシング機能に取って代わります。ただし、OpCache は MemCache や APC のような「一般的な」キャッシュではありません。古い非バイトコード キャッシング機能を取り戻すには、APC からバイトコード キャッシングを除いた APCu をインストールする必要があります。

于 2013-11-06T11:09:58.443 に答える