Errore in Drupal 7 con APC (Alternative PHP Cache)
Drupal 7 sembra un tantino più "delicato" rispetto alla versione precedente per quanto riguarda le impostazioni di configurazione della cache APC. L'installazione di Drupal 7 su di un server nel quale girano senza problemi siti web sviluppati con la versione 6 e con la 5 dava errori già in fase di installazione come si può vedere dall'immagine qui a lato. Il tipo di errore (che si verifica sia con PHP 5.3 che con PHP 5.2 ed APC 3.1.9 installata da pecl, su di un server Ubuntu):
Notice: Constant MARK_READ already defined in require_once() (line 21 of /var/www/drupal/includes/theme.inc).
mi ha fatto subito pensare ad un prossibile problema con APC ed in particolare con l'opzione apc.include_once_override che va a toccare (ottimizzare) per l'appunto le chiamate a include_once() e require_once(). La soluzione al problema è disabilitare apc.include_once_override, impostando il parametro di configurazione a 0:
apc.include_once_override = 0
Disabilitando tale opzione nel file di configuraizone di apc (su Ubuntu verosimilmente in /etc/php/conf.d/apc.ini) e ricaricando la configurazione del web server (sudo service apache2 reload), il problema dovrebbe risolversi. In realtà ho potuto verificare che anche:
apc.report_autofilter = TRUE
opzione che scrive nel log di APC tutti gli script che vengo esclusi automaticamente dalla cache a causa di un qualche problema, crea dei messaggi di errore in fase di installazione:
Warning: require_once(): Dynamic inheritance detected for class pagerdefault in _drupal_bootstrap_full() (line 4892 of /var/www/drupal/includes/common.inc).
Warning: require_once(): Autofiltering /var/www/drupal/includes/pager.inc in _drupal_bootstrap_full() (line 4892 of /var/www/drupal/includes/common.inc).
Warning: require_once(): Recompiling /var/www/drupal/includes/pager.inc in _drupal_bootstrap_full() (line 4892 of /var/www/drupal/includes/common.inc).
...
Infatti impostando nel file di configurazione di APC
apc.report_autofilter = FALSE
anche i precedenti messaggi di errore scompaiono ed è possibile proseguire nell'installazione indisturbati.
- 9316 reads