2013-08-03 8 views
7

Ich habe PHP 5.5.1 in meiner Entwicklungsumgebung installiert und habe auch Zend OpCache als Cache-Provider konfiguriert. Alles funktioniert auf dem Server mit der neuen Version und Einstellungen, aber in meinem symfony 2 Projekt habe ich den Doctine2 Cache um einige "statische" Daten (Länder, Sprachen, etc.) zu speichern und es funktioniert nicht mit Opcache.Wie benutzt man ZendOpCache für Doctrine2 Cache?

Bis heute verwendete ich die Klasse Doctrine\Common\Cache\ApcCache, um mit dem Cache von Doctrine2 mit APC zu arbeiten, aber es scheint, dass es keine Klasse gibt, mit OpCache zu arbeiten.

Das ist mein config.yml für APC-Cache:

# Services 
services: 
    cache: 
     class: Doctrine\Common\Cache\ApcCache 

Jetzt, mit OpCache ich versucht habe ZendDataCache zu verwenden, mit Cache-System zu behandeln, aber nicht funktioniert:

# Services 
services: 
    cache: 
     class: Doctrine\Common\Cache\ZendDataCache 

I bekomme ich diesen Fehler, so nehme ich an, dass ZendDataCache Klasse nicht für OpCache ist:

FatalErrorException: Error: Call to undefined function Doctrine\Common\Cache\zend_shm_cache_fetch() in /var/www/meediam/src/vendor/doctrine/common/lib/Doctrine/Common/Cache/ZendDataCache.php line 38

Endlich Ich habe die ArrayCache konfiguriert, und es funktioniert, aber ohne Cache-System hinter sich.

So ist die Frage, Wer weiß, wie man Zend OpCache mit Doctrine 2 Cache verwendet?

PS: Ich bin mit Symfony 2.3.2

+1

PHP OpCache ist ein einfacher Opcode-Cache. Um Daten im Cache zu speichern, benötigen Sie Folgendes: [APCu] (https://github.com/krakjoe/apcu). – PeeHaa

+0

Perfekt. Es funktioniert mit APCu User Cache. (Wenn Sie möchten, können Sie die Frage in einer neuen Antwort beantworten, um sie als gelöst zu markieren.) – unairoldan

Antwort

7

meinen Kommentar als Antwort hinzufügen.

PHPs OpCache ist kein vollständiger Cache als APC Es ist ein einfacher Opcode-Cache. Wenn Sie benutzerdefinierte Daten wie bei der alten APC speichern möchten, können Sie Joe Watkins' APCu: https://github.com/krakjoe/apcu verwenden.

Es gibt auch yac und Memcache.

-2

Sie können tatsächlich nutzen OpCache indirekt über PhpFileCache