J'utilise ce tutoriel , qui donne une explication détaillée de la configuration de CodeIgniter et de Doctrine. J'utilise CodeIgniter 2.1.0 et Doctrine 2.2.1, mais j'obtiens cette erreur:
Erreur fatale: appel de la fonction non définie
Doctrine\Common\Cache\apc_fetch()
dans /Applications/XAMPP/xamppfiles/htdocs/emma_watson_shrine/application/libraries/Doctrine/Common/Cache/ApcCache.php à la ligne 52
Peux-tu m'aider?
Vous devez activer l'extension APC pour PHP.
Suivez this guide.
Alternativement, vous pouvez utiliser un pilote de cache différent, tel que memcache, et modifier la configuration de Doctrine en conséquence.
Vérifiez la documentation de doctrine pour d'autres pilotes de mise en cache. La solution la plus simple serait peut-être d'utiliser ArrayCache dans le développement.
Si vous n'installez pas APC et que vous voulez simplement l'exécuter, changez de mode dans doctrine-cli.php à la ligne 6:
define('ENVIRONMENT', 'production');
à
define('ENVIRONMENT', 'development');
Ouvrez le fichier Doctrine.php, aux lignes 36 ~ 43, vous verrez pourquoi!
Depuis php 5.5 apc n'est plus utilisé. Vous devriez installer apcu.
Par exemple.
apt install php5.6-apcu
Plus d'infos ici:
http://php.net/manual/en/opcache.installation.php
Et pour ceux sur php 7, il y a un module de compatibilité ascendante:
apt-get install php7.0-apcu
apt-get install php7.0-apcu-bc
En outre, vous devrez peut-être ajouter ce référentiel:
apt-add-repository ppa:ondrej/php
apt-get update
vous devez installer l'extension apc pour travailler avec la mise en cache. Il suffit donc de télécharger l'extension et de l'installer.
Celui-ci vous aidera à installer l'extension APC sur Apache.
http://kvcodes.com/2014/06/solution-call-undefined-function-apc_fetch/
Sur OSX, je devais exécuter:
pecl channel-update pecl.php.net
pecl install apcu-4.0.11
installer pour PHP 5.6
https://getgrav.org/blog/macos-mojave-Apache-mysql-vhost-apc
Pour tous ceux qui l'obtiennent sur un Mac, installez simplement apcu
en utilisant Homebrew :
brew install php56-apcu
(et activez l'extension si nécessaire).