Drupal Devel Module incompatibile con vecchie versioni di PHP

Drupal Devel Module incompatibile con vecchie versioni di PHP

Il modulo Devel per Drupal è uno strumento molto utile per gli sviluppatori, permette infatti di semplificare molte operazioni, soprattutto in fase di debug.

Recentemente però il modulo è stato oggetto di una piccolissima disavventura nel caso in cui il web server utilizzi una versione non recentissima di PHP.

In particolare è bastata una riga di codice per rompere la compatibilità con PHP 5.2.

Nel caso in cui si usi PHP 5.2, aggiornando il modulo Devel alla versione 7.x-1.4 il bug in oggetto causa un WSOD (white screen of death) su quasi tutte le pagine del sito e rendendolo inutilizzabile.

Questo bug l'ho scoperto perché ho aggiornato diversi moduli in un sito il cui servizio di hosting utilizza PHP 5.2. Identificare il modulo Devel come causa del WSOD non è stato proprio semplicissimo in quanto l'hosting in questione non forniva nemmeno i log di sistema pertanto ho dovuto ripristinare la vecchia versione del sito ed aggiornare un modulo alla volta fino ad identificare il modulo buggato.

Visto che PHP 5.2 è tra i requisiti minimi per il funzionamento di Drupal 7, questo problema è piuttosto grave. Non si può rendere un modulo per Drupal incompatibile con i requisiti minimi della piattaforma.

Fortunatamente il bug è stato risolto abbastanza velocemente e la versione -dev è già stata corretta.

Fintanto che non verrà rilasciata una nuova versione stabile con il fix, spero che il problema sia evidenziato nella pagina del modulo per avvisare gli utenti (come ho già consigliato agli sviluppatori).

Anche in questa occasione il backup prima di fare un aggiornamento si è rivelato utilissimo!