symfony — что такое код операции и кеш данных в переполнении стека

Я устанавливаю 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

1

Решение

Вам необходимо установить APCрасширение php на вашем «wamp». Я думаю Установка php_apc.dll на wampserver поможет вам установить APC на wamp для окон.

1

Другие решения

Akeneo требует 2 типа кеша: один для ускорения выполнения кода, другой для кеширования данных.

Если вы используете PHP> = 5.5, рассмотрите возможность использования ZendOPcache и apcu. Обратите внимание, что ZendOPcache большую часть времени устанавливается с PHP, но иногда вам нужно будет включить его самостоятельно.

Если вы используете PHP < 5.5, рассмотрите возможность использования apc и apcu.

Чтобы убедиться, что оба кэша включены, вы можете использовать простой скрипт PHP с phpinfo(); позвони в это. Советы: не используйте php -i в вашей оболочке, чтобы проверить это, ускорители PHP иногда отключаются в режиме CLI … Для Zend OPcache вы также можете использовать веб-страницу, такую ​​как предложенная Rasmus здесь: https://github.com/rlerdorf/opcache-status

И последнее, но не менее важное: я не рекомендую использовать Zend OPcache для разработки. Во-первых, вам, вероятно, не нужно больше производительности при разработке, а во-вторых, вы, вероятно, будете тратить свое время, пытаясь выяснить, вызваны ли ошибки в коде кешем или нет (например, если ваша конфигурация Zend OPcache очень агрессивна и делает не проверять изменения кода в ваших файлах PHP …).

1