2012-10-30 16 views
14

Ich verwende this tutorial, die eine detaillierte Erklärung über die Einrichtung von CodeIgniter und Doctrine gibt. Ich benutze CodeIgniter 2.1.0 und Lehre 2.2.1, aber ich bekomme diese Fehlermeldung:Lehre undefinierte Funktion 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

Können Sie mir helfen?

Antwort

11

Sie müssen die APC-Erweiterung für PHP aktivieren.

Folgen Sie this Guide.

Alternativ können Sie einen anderen Caching-Treiber wie Memcache verwenden und die Doctrine-Konfiguration entsprechend ändern.

Überprüfen Sie die doctrine documentation für alternative Caching-Treiber. Vielleicht die einfachste Lösung wäre, ArrayCache in Entwicklung zu verwenden.

4

Wenn Sie nicht installieren APC und will nur dann in Lehre-cli.php laufen in Zeile 6, Änderungsmodus:

define('ENVIRONMENT', 'production'); 

zu

define('ENVIRONMENT', 'development'); 

öffnen Doctrine.php Datei, in Zeile 36 ~ 43, werden Sie sehen, warum!

+0

Dies ist der Haken. vielen Dank. – Yasitha

3

Seit 5.5 apc php wird nicht mehr verwendet. Sie sollten apcu installieren.

z.

apt install php5.6-apcu

Mehr Infos hier:

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

Und für diejenigen, auf PHP 7 gibt es eine Rückwärtskompatibilität Modul:

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

Auch Sie benötigen dieses Repository hinzufügen :

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

Für alle diese auf einem Mac bekommen, installieren Sie einfach apcu mit Homebrew:

brew install php56-apcu

(und die Erweiterung aktivieren, falls erforderlich).