oCiolaPalma v4.1

Inicio

Como solucionar Function ereg() is deprecated en Joomla 1.0 [SOLUCIONADO]

Hoy hemos actualizado a PHP 5.3.6 y algunas páginas en Joomla 1.0.x nos han dado un pequeño problema, en concreto en una de ellas todo funcionaba bien excepto el contenido de la web que no lo mostraba. En nuestro caso el template y los módulos se mostraban perfectamente pero en el lugar de mostrar el contenido no aparecía absolutamente nada.

Revisando los logs nos damos cuenta de que algunas funciones php que utiliza el Joomla 1.0.x pues con PHP 5.3.x han quedado en desuso y deben reemplazarse por las nuevas.

Erroes que nos aparecían:

PHP  Deprecated:  Function ereg() is deprecated in  /var/www/vhosts/yourdomain.es/httpdocs/includes/joomla.php on line  3765 
PHP Deprecated: Function eregi() is deprecated in /var/www/vhosts/yourdomain.es/httpdocs/includes/sef.php on line 393

Como siempre, haciendo uso de Google navegamos un poco y en el foro de Joomla en inglés encontramos un hilo en el que un usuario facilita un parche para que Joomla 1.0.x funcione bajo PHP 5.3.x. Al principio no pensé que funcionara pero después de hacer backup y subir los archivos me llevé la grata sorpresa de que se había solucionado

Parche: fix_joomla_10x_php_530.zip
Hilo en Inglés: http://forum.joomla.org/viewtopic.php?p=1991271#p1991271

Links interesantes de como cambiar la función ereg() o eregi() por la nueva función preg_match()

Advierto que el parche no asegura que nuestra página funcione al cien por cien, sobra decir que se debería migrar a Joomla 1.5 o a Joomla 1.6 ya que la versión 1.0 está desactualizada y desatendida. Corremos peligro de hackeo y todo este problema con PHP 5.3.x es un buen aviso de que estamos "obsoletos" y se debe actualizar si o si. Yo ya he empezado con la migración.

Un saludo!

 

Escribir un comentario


Código de seguridad
Refescar