что такое опкод и кеш данных в php

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

person Deepak Kumar    schedule 27.09.2014    source источник
comment
Пожалуйста, дайте нам знать, если вам удастся сделать то, что вы хотите. Если вы считаете, что один из ответов помог вам или может помочь кому-то еще в будущем, проголосуйте и отметьте его.   -  person foobar    schedule 07.08.2015


Ответы (2)


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

person kuldipem    schedule 27.09.2014
comment
можем ли мы установить opc и apc на wamp - person Deepak Kumar; 27.09.2014
comment
Я не уверен в этом, но думаю, вам следует прочитать это [stackoverflow.com/questions/17224798/how-to-use-php-opcache]. - person kuldipem; 27.09.2014

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

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

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

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

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

person foobar    schedule 03.08.2015