1

Akeneo PIMをインストールしています。Symfony2 フレームワークに基づいています。

それにはいくつかの前提条件があります。私が理解したものもあれば、混乱したものもありました。

Zend opcache を WAMP にインストールし、phpinfo に表示されていますが、php にあるデータ キャッシュがわかりません。

これには助けが必要です.....

このエラーが発生しています:

( ! ) Fatal error: Call to undefined function Doctrine\Common\Cache\apc_fetch() in D:\wamp\www\akeneo\vendor\doctrine\cache\lib\Doctrine\Common\Cache\ApcCache.php on line 40
Call Stack
#   Time    Memory  Function    Location
1   0.0140  139760  {main}( )   ..\app.php:0
2   0.4300  334232  Symfony\Component\HttpKernel\Kernel->handle( )  ..\app.php:24
3   0.4300  334344  Symfony\Component\HttpKernel\Kernel->boot( )    ..\bootstrap.php.cache:2253
4   84.9849 830408  Symfony\Component\HttpKernel\Kernel->initializeContainer( ) ..\bootstrap.php.cache:2222
5   157.3350    19333112    Symfony\Component\HttpKernel\CacheWarmer\CacheWarmerAggregate->warmUp( )    ..\bootstrap.php.cache:2451
6   157.4190    19379904    Symfony\Bridge\Doctrine\CacheWarmer\ProxyCacheWarmer->warmUp( ) ..\CacheWarmerAggregate.php:47
7   157.4330    19380208    Doctrine\Common\Persistence\Mapping\AbstractClassMetadataFactory->getAllMetadata( ) ..\ProxyCacheWarmer.php:69
8   159.3501    20279512    Doctrine\Common\Persistence\Mapping\AbstractClassMetadataFactory->getMetadataFor( ) ..\AbstractClassMetadataFactory.php:114
9   159.3561    20283608    Pim\Bundle\CatalogBundle\Doctrine\ArrayApcCache->fetch( )   ..\AbstractClassMetadataFactory.php:207
10  159.3561    20283632    Doctrine\Common\Cache\CacheProvider->fetch( )   ..\ArrayApcCache.php:54
11  159.3561    20283656    Doctrine\Common\Cache\CacheProvider->getNamespacedId( ) ..\CacheProvider.php:78
12  159.3561    20283688    Doctrine\Common\Cache\CacheProvider->getNamespaceVersion( ) ..\CacheProvider.php:147
13  159.3561    20284072    Doctrine\Common\Cache\ApcCache->doFetch( )  ..\CacheProvider.php:174
4

2 に答える 2

1

Akeneo には 2 種類のキャッシュが必要です。1 つはコード実行の高速化用、もう 1 つはデータ キャッシング用です。

PHP >= 5.5 を使用している場合は、ZendOPcache と apcu の使用を検討してください。ZendOPcache はほとんどの場合、PHP と共にインストールされますが、独自に有効にする必要がある場合もあります。

PHP < 5.5 を使用する場合は、apc と apcu の使用を検討してください。

phpinfo();両方のキャッシュが有効になっていることを確認するには、呼び出しを含む単純な PHP スクリプトを使用できます。ヒント: これを確認するためにシェルで使用しないphp -iでください。CLI モードでは PHP アクセラレータが無効になることがあります。 com/rlerdorf/opcache-status

最後になりましたが、Zend OPcache を開発に使用することはお勧めしません。1 つ目は、おそらく開発時にこれ以上のパフォーマンスは必要ないということです。2 つ目は、コード エラーがキャッシュによるものかどうかを判断しようとして時間を無駄にする可能性があることです (たとえば、Zend OPcache の構成が非常に積極的であり、 PHP ファイルのコード変更を検証しないでください...)。

于 2015-08-03T12:46:20.097 に答える
1

APC"wamp" に php 拡張機能をインストールする必要があります。wampserver に php_apc.dllAPCをインストールすると、wamp for windowsにインストールするのに役立つと思います。

于 2014-09-27T09:38:10.823 に答える