Be a happy coder

You are here

Errores en drupal al cambiar la versión de PHP

03 Sep 2012

Hace bastante tiempo que se dejó drupal 5 atrás y ya vamos por drupal 7 (¡y el 8 está en camino!). Sin embargo hay aun webs que tienen versiones más antiguas y hay quien es reticente a migrar a una versión más moderna.
Uno de los primeros inconvenientes que tiene esto es que en algún momento, bien sea porque el servidor es compartido o por otras necesidades en algún momento se termina subiendo de versión php de la 5.2 a la 5.3. A partir de ahí uno de los mensajes que nos aparecerán más por pantalla será el "Notice: Undefined offset: 8192 in /var/www/drupal5/httpdocs/includes/common.inc on line 594".

Lo que nos viene a indicar este error es algunos tipos de llamadas que se hacen en drupal 5 y que ya son obsoletas para la nueva versión de php, es el "error" 8192 que en realidad es la activación de bits para algo deprecated en la nueva versión php. El error es debido a que drupal 5 no tiene ese valor dentro del array que utiliza para mostrar estos errores de php.

Para corregir este error hay que editar la línea 592 de includes/common.inc, en la función error_handler(), cambiando la línea:

if ($errno & (E_ALL ^ E_NOTICE)) {

por la siguiente:

if ($errno & (E_ALL ^ E_DEPRECATED ^ E_NOTICE)) {

Y con ello, los errores por llamadas a funciones obsoletas no se volverán a mostrar por pantalla.