24 de octubre de 2012

Problemas con MySQL y PHP al instalar Joomla! en localhost con XAMPP

Problema

Como es bien sabido, es muy recomendable aprender y hacer pruebas con Joomla! en un servidor local por ser más rápido y poder tocar allá donde queremos sin temor. Hasta la fecha estábamos trabajando con una versión antigua del programa AppServ como localhost, sin embargo, en vez de actualizarlo, decidimos desinstalarlo y probar con el famoso XAMPP para Windows.

Después de informarnos en foros y demás, éramos conscientes de que para trabajar con Joomla! 1.5 no es muy recomendable utilizar la última versión de XAMPP (1.8) por que podrían aparecer diversas incompatibilidades graves con el PHP y MySQL, por ello, decidimos instalar la versión 1.7.4 de 2011.

A partir de aquí nos surgieron dos problemas gordos que no nos dejaban instalar y trabajar con Joomla! 1.5.26 con normalidad:

1. Cuando intentábamos enlazar la base de datos creada durante la instlación del motor Joomla!, aparecía el error:
You have an error in your SQL syntax; check the manual that corresponds  to your MySQL server version for the right syntax to use near  'TYPE=MyISAM CHARACTER SET `utf8`' at line 29 SQL=CREATE TABLE  `jos_banner` (   `bid` int(11) NOT NULL auto_increment,   `cid` int(11) NOT NULL default '0',   `type` varchar(30) .../...
2. Al completar la instalación, en vez de la portada de nuestro sitio en pruebas, nos aparecía un error larguísimo de la forma:
Strict Standards: Non-static method JLoader::import() should not be called statically in/home/user/www/joomla/libraries/joomla/import.php on line 29
Strict Standards: Non-static method JLoader::register() should not be called statically in/home/user/www/joomla/libraries/loader.php on line 71
Strict Standards: Non-static method JLoader::import() should not be called statically in/home/user/www/joomla/import.php on line 32 .../...
Solución  

1. El error con la base de datos es debido a un comando específico que utiliza esta versión de Joomla! y que no es compatible con la versión MySQL 5.5.x

Para solucionarlo, debemos editar el archivo joomla.sql (como siempre, preferiblemente con Notepad++) que se encuentra en la carpeta "installation" (esa misma que después de la instalación hay que borrar). Ahí debemos sustituir todas las expresiones:
"TYPE=MyISAM"
por
"ENGINE=MyISAM"
Con este simple cambio ya reconoce sin problemas la base de datos y podemos terminar la instalación con normalidad.

2. El problema en esta ocasión en de PHP. Resulta que por la configuración por defecto, por defecto nos aparecerá en pantalla el más mínimo error o warning, por lo que se nos llena la pantalla de pequeños fallos que habitualmente da Joomla! con PHP, de hecho, en la propia instalación recomiendan que no se active este informe de fallos.

Para solucionarlo nos vamos a la carpeta xampp >> php y editamos el archivo php.ini. Esta vez la modificación que hacemos es en la línea:
error_reporting = E_ALL | E_STRICT
y lo sustituímos por:
error_reporting = E_ALL
Precisamente al quitarle el "strict" le decimos a la configuración que no sea tan "tiquismiquis". De todas formas, si esto no funcionara, tenemos la opción de desactivar completamente los avisos de error en la línea:

display_errors = On

cambiándolo por:

display_errors = Off

¡Y a trabajar con Joomla! 1.5 en local con XAMPP 1.7.4¡

Las principales fuentes de donde sacamos la información son:

* The Joomla Forum
* OcioLaPalma
* The Joomla Forum (2)
* Jormc.es

1 comentario: