2015-01-30 5 views
2

Мы используем symfony2 с php 5.6.Symfony2 PHP 5.6 OpCode

С умолчанию конфигурации можно кэшировать метаданные проверки:

framework: 
    validation: 
     cache: apc 

Как мы можем использовать это с PHP 5.6 и встроенный в OpCache?

В умолчанию app.php можно кэшировать класса автозагрузчика:

if (extension_loaded('apc')) { 
    $apcLoader = new ApcClassLoader('foo', $loader); 
    $apcLoader->register(true); 
} 

Как мы можем достичь того же с помощью Zend OpCache? Мы попробовали с UniversalClassLoader, но мы не уверены, если это правильно.

В конфигурации по умолчанию можно использовать АРС также для метаданных кэширования доктрины, DQL, и так далее:

doctrine: 
    orm: 
     metadata_cache_driver: apc 
     result_cache_driver: apc 
     query_cache_driver: apc 

Есть ли способ для кэширования метаданных, результат и прочее запрос с Propel вместо доктрины?

+0

Итак, мы должны использовать Zend OpCache в сочетании с APCu? –

+0

Если вы хотите кэшировать переменные, вам нужно что-то еще, например, apcu yes – PeeHaa

ответ

1

Opcache, встроенный в последние версии PHP, не предоставляет APC-подобную память пользователей - это просто для кэширования байт-кода. Вы можете установить ApcU, чтобы использовать драйвер кэша APC, но в противном случае вам нужно выбрать другой механизм кэширования.

Это не будет проблемой для ClassLoader, поскольку это уже обрабатывается оптимизацией Composer и Opcache, но будет полезно для другого кэширования.