2015-12-30 19 views
10

Ho un problema con PHP7 e APCu. Dopo l'installazione ho ottenuto questo errore:Symfony/PHP7 APC -> APCu

Fatal error: Call to undefined function Doctrine\Common\Cache\apc_fetch()

APCu è al 100% abilitato, lo vedo nel phpinfo(); E quando provo apcu_fetch() funziona.

Come utilizzare APCu in Symfony 2.8?

+0

Opcache è stato disponibile, costruito in PHP dal 5.5, potrebbe voler esaminarlo. – Devon

+0

Sì, ma APCu è migliore per Symfony. –

+0

Ricevi questo errore sulla riga di comando o sul client che si connette a fpm? Anway ricordando solo, se si ottiene questo errore sulla linea di comando, si può perdere php.ini può essere diverso da fpm e cli – FZE

risposta

6

Questa risposta è obsoleta. La risposta corretta è quella di François Breton.

In PHP 7 è necessario aggiungere un modulo aggiuntivo alla configurazione PHP: apc.so Questo è un modulo che consente la compatibilità con le versioni precedenti di apc per apcu. Questo è un po 'di confusione ...

Vedere http://php.net/manual/de/apcu.installation.php per ulteriori informazioni.

Se si utilizzano pacchetti da https://deb.sury.org/ (ondrej ppa), è possibile installarlo tramite apt-get install php-apcu-bc.

+0

Potresti per favore espandere la tua risposta su come aggiungere il modulo? – k0pernikus

+0

Questo link non contiene molte informazioni. – Henry

16

È possibile aggiornare dottrina, almeno la sua dipendenza dottrina/cache (> = 1.6) APCu ora supportati :-)

+3

Confermato. Basta cambiare tutte le tue configurazioni in cui hai apc per apcu ad esempio 'metadata_cache_driver: apcu' – jrjohnson

+2

Questa dovrebbe essere la risposta accettata. –

1

Se si utilizza Ubuntu:

sudo add-apt-repository ppa:ondrej/php 
sudo apt-get update 
sudo apt-get install php-apcu-bc 
+0

Questa risposta contiene la soluzione che ha funzionato per me. Sii buono se lo arricchisci un po 'di più. Grazie. – Henry