Ho eseguito la migrazione di uno dei siti Web Joomla e sono rimasto bloccato con un "Errore fatale PHP Errore non rilevato:chiamata a una funzione non definita apc_fetch()". Se sei bloccato con un errore simile, ecco come puoi risolverlo. Prima di ciò, di seguito è riportato l'istantanea dell'errore:
Fatal error: Uncaught Error: Call to undefined function apc_fetch() in /var/www/libraries/joomla/cache/storage/apc.php:35 Stack trace: #0 /var/www/libraries/joomla/cache/cache.php(188): JCacheStorageApc->get('ab82b3238b14dcb...', 'Gantry', true) #1 /var/www/libraries/joomla/cache/controller.php(179): JCache->get('ab82b3238b14dcb...', 'Gantry') #2 /var/www/libraries/gantry/core/utilities/cache/joomlaCacheDriver.class.php(40): JCacheController->get('ab82b3238b14dcb...', 'Gantry') #3 /var/www/libraries/gantry/core/utilities/cache/cache.class.php(135): JoomlaCacheDriver->exists('Gantry', 'ab82b3238b14dcb...') #4 /var/www/libraries/gantry/core/utilities/gantrycache.class.php(240): GantryCacheLib->get('Gantry', 'ab82b3238b14dcb...') #5 /var/www/libraries/gantry/gantry.php(269): GantryCache->addWatchFile('/var/www/cfw_pr...') #6 /var/www/libraries/gantry/gantry.php(432): gantry_setup() #7 /var/www/templates/rt_cla in /var/www/libraries/joomla/cache/storage/apc.php on line 35
Come correggere l'errore irreversibile PHP – Call to undefined function apc_fetch()?
Soluzione: Osservando l'errore, è chiaro che l'applicazione prevede PHP APC modulo da abilitare.
Ci sono due modi per risolverlo:
Opzione 1: Installa il modulo PHP APC usando il comando seguente:
#apt-get install php7.0-apc
Quindi riavvia il server web
#/etc/init.d/apache2 restart
Opzione 2: Se non vuoi che APC venga utilizzato per la memorizzazione nella cache, disabilitalo. Apri configuration.php file e cerca la riga sottostante:
public $cache_handler = 'apc';
E sostituiscilo con:
public $cache_handler = 'file';
In questo modo Joomla utilizzerà file come gestore della cache invece di APC.
Voilà, Joomla funziona alla grande ora!