Incompatibilità tra Alternative PHP Cache (APC) e Wordpress

Di recente è capitato di dover installare Wordpress per un cliente su di una VPS che gestisco, VPS sulla quale giravano già siti in Joomla e Drupal. Se con quest'ultimi non si erano manifestati problemi di sorta, diverso è stato il discorso per Wordpress (versione 3) per il quale ogni tentativo di accedere alle pagine di amministrazione restituiva una WSOD (White Screen Of Death, o pagina bianca della morte).

Dopo aver analizzato diverse ipotesi e dopo aver effettuato alcune ricerche in rete, è emersa l'incompatibilità tra le impostazioni di APC (Alternative PHP Cache) installato sulla VPS e Wordpress stesso (versione APC installata 3.1.4). Se disattivare APC non era una delle possibili soluzioni, alla fine è emerso che quello che creava problemi con Wordpress era il parametro apc.include_once_override. Attivando tale opzione, ovvero impostando tale parametro ad 1 onde ottimizzare le richieste include_once() e require_once(), Worpress restituisce un  WSOD nelle pagine di amministrazione.

Disabilitare tale opzione ha risolto il problema.

Non ho avuto modo di effettuare dei test prestazionali per valutare l'impatto globale di tale operazione sui siti già installati, tuttavia in base a test effettuati da terzi sembrerebbe che disabilitare tale opzione non abbia effetti negativi sul caricamento di Drupal.

Segnalo questa interessante introduzione ad APC.