2012-10-30 14 views
14

Sto usando this tutorial, che fornisce una spiegazione dettagliata su come impostare CodeIgniter e Doctrine. Sto utilizzando CodeIgniter 2.1.0 e 2.2.1 dottrina, ma ottengo questo errore:Doctrine undefined function apc_fetch

Fatal error: Call to undefined function Doctrine\Common\Cache\apc_fetch() in /Applications/XAMPP/xamppfiles/htdocs/emma_watson_shrine/application/libraries/Doctrine/Common/Cache/ApcCache.php on line 52

Mi potete aiutare?

risposta

11

È necessario abilitare l'estensione APC per PHP.

Seguire la guida this.

In alternativa, è possibile utilizzare un driver di memorizzazione nella cache diverso, come memcache, e modificare la configurazione di Doctrine in base a ciò.

Controllare il doctrine documentation per i driver di memorizzazione nella cache alternativi. Forse la soluzione più semplice sarebbe quella di utilizzare ArrayCache in fase di sviluppo.

4

Se non si installa APC e vogliono solo per eseguirlo poi nella dottrina-cli.php alla linea 6, modalità di modifica:

define('ENVIRONMENT', 'production'); 

a

define('ENVIRONMENT', 'development'); 

Aperto Doctrine.php file, alla riga 36 ~ 43, vedrai perché!

+0

Questo fa il segno di spunta. Grazie mille. – Yasitha

3

da PHP 5.5 APC non è più utilizzato. Dovresti installare apcu.

E.g.

apt install php5.6-apcu

Maggiori informazioni qui:

http://php.net/manual/en/opcache.installation.php

E per chi è in php 7 c'è un modulo di compatibilità all'indietro:

apt-get install php7.0-apcu 
apt-get install php7.0-apcu-bc 

Inoltre, potrebbe essere necessario aggiungere questo repository :

apt-add-repository ppa:ondrej/php 
apt-get update 
0

Per chiunque ottenere questo su un Mac, basta installare apcu utilizzando Homebrew:

brew install php56-apcu

(e abilitare l'estensione, se necessario).