2012-10-30 28 views
14

Używam this tutorial, która zawiera szczegółowe wyjaśnienie, jak skonfigurować CodeIgniter i Doctrine. Używam CodeIgniter 2.1.0 i Doctrine 2.2.1, ale pojawia się ten błąd:Nieokreślona funkcja doktryny 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

Czy możesz mi pomóc?

Odpowiedz

11

Musisz włączyć rozszerzenie APC dla PHP.

Postępuj zgodnie z this przewodnik.

Alternatywnie można użyć innego sterownika buforowania, takiego jak memcache, i zmienić konfigurację Doctrine zgodnie z tym.

Sprawdź alternatywne sterowniki buforowania dla doctrine documentation. Być może najprostszym rozwiązaniem będzie użycie ArrayCache w opracowaniu.

4

Jeśli nie zainstalować APC i po prostu chcą, aby go uruchomić, a następnie w doktrynie-cli.php na linii 6, tryb Zmiana

define('ENVIRONMENT', 'production'); 

do

define('ENVIRONMENT', 'development'); 

Otwarte Doctrine.php plik, w linii 36 ~ 43, zobaczysz, dlaczego!

+0

To robi kleszcza. Dziękuję Ci bardzo. – Yasitha

3

od PHP 5.5 APC nie jest już używana. Powinieneś zainstalować apcu.

E.g.

apt install php5.6-apcu

Więcej informacji tutaj:

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

A dla tych na php 7 istnieje do tyłu modułu Kompatybilność:

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

Ponadto, może być konieczne, aby dodać repozytorium :

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

Dla każdego, coraz to na Macu, wystarczy zainstalować apcu użyciu Homebrew:

brew install php56-apcu

(i włączyć rozszerzenie, jeśli jest to wymagane).