Joomla 1.5.18
Virtuemart 1.1.4
Xmap 1.2.10
sh404sef 2.2.2.941
Desde hace unas semanas no nos funciona la extensión Xmap. La opción de menú para acceder al sitemap da un error 500 y Google a través de las herramientas para webmaster también nos indica que desde primeros de mes no puede acceder a nuestro Sitemap xml.
El error que nos da cuando accedemos a la opción de menú del sitemap en la web es el siguiente:
----------------------------------------------------------------------------------------
Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator, webmaster@xxx.com and inform them of the time the error occurred, and anything you might have done that may have caused the error.
More information about this error may be available in the server error log.
Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.
Y este es el error que queda grabado en el server error log:
---------------------------------------------------------------------------------------
PHP Warning: Cannot modify header information - headers already sent by (output started at /home/promoesp/public_html/components/com_xmap/xmap.xml.php:142) in /home/promoesp/public_html/administrator/components/com_virtuemart/classes/ps_session.php on line 68
---------------------------------------------------------------------------------------
Hemos revisado la configuración de Xmap y está todo correcto. Intentando resolver el problema hemos actualizado Xmap y sh404sef a la última versión y tampoco se resuelve.
Parece que el problema tiene alguna relación con Virtuemart, si desactivamos el plugin de Virtuemart , todo funciona bien, pero para nosotros es necesario tener activado el plugin.
Se ha encontrado alguien con un problema similar?
Alguna idea?
Hola jmdpro,
¿Recuerdas que día descargaste la extensión Xmap 1.2.10? Lo comento porque si fue entre los días 20 y 23 de febrero es posible que descargases una extensión troyanizada, ya que atacaron la web del autor y sustituyeron los archivos legítimos de Xmap por copias infectadas con un troyano.
Ver noticia original: http://forum.joomla.org/viewtopic.php?f=432&t=596985
Es importante que revises este punto, porque si estaba infectada y estas alojado en un servidor donde dispongan de medidas de seguridad y scanners tipo CXS que analizan todos los archivos, es posible que el scanner detecte dicho encodeado base64 y restrinja o bloquee el código y eso te provoque un error 500.
Al margen de eso, trabajar con una versión de Joomla! 1.5.18 que data de 28 de mayo de 2010 es una invitación a la inseguridad y a que interesados en atacar sitios vulnerables se fijen en tu web si la detectan.
Te recomiendo actualizarte:
Lo mismo te comento para tu versión 1.1.4 de VirtueMart:
Saludos
Hola Gnumax
La descarga la realicé el sábado 26 desde la web de Joomlacode Project que es donde el desarrollador de Xmap ha colgado la ultima versión limpia de virus mientras acaba de securizar su web. Lo he comprobado y la versión está limpia de virus y troyanos.
El problema no viene por aquí ya que xmap ya daba este problema con la versión anterior que teníamos instalada. Hicimos la actualización a la ultima versión para probar si así se resolvía. La versión anterior funcionó correctamente hasta hace unas semanas y en ese periodo nosotros no realizamos ningún cambio en el software ni en las configuraciones como para que de golpe dejase de funcionar (no se si nuestro hosting webempresa realizó cambios a nivel de servidor y de BD).
Respecto al tema de las actualizaciones, tomo nota y las realizaremos tan pronto como podamos pero ahora lo que nos interesa es resolver este tema y dejar la web funcionando correctamente como hasta hace unas semanas.
Gracias por tus comentarios
Saludos
Hola jmdpro,
Volviendo al error que comentas:
PHP Warning: Cannot modify header information - headers already sent by (output started at /home/promoesp/public_html/components/com_xmap/xmap.xml.php:142) in /home/promoesp/public_html/administrator/components/com_virtuemart/classes/ps_session.php on line 68
Este error se produce porque en el script PHP existen caracteres extraños o espacios antes o después del código PHP y es importante revisar que no existan espacios, saltos de línea o caracteres antes de:
< ?
Que es el comienzo del script y que al final tampoco existan estos caracteres extraños, códigos o espacios.
? >
Esta modificación debería hacerse el los archivos "xmap.xml.php" y "ps_session.php".
Este tipo de errores se pueden dar por varias razones, un archivo que se ha editado con un editor de texto enrriquecido y le han quedado agregadas líneas o código al prinicipio y/o final del archivo, un archivo troyanizado mal limpiado, etc., y no guardan relación alguna sobre intervenciones en las bases de datos, ya que no se tocan ni afectan en el caso que nos ocupa, ni por cambios en reglas de seguridad del servidor.
Saludos
Hola Gnumax
Gracias por tus comentarios.
He revisado los dos archivos siguiendo tus indicaciones. El archivo ps_session.php no tiene ningún problema, tiene los códigos de inicio y fin sin caracteres adicionales.
El archivo xmap.xml.php no tenía código de cierre al final, se lo he puesto y lo he subido al servidor, pero sigue dando el mismo problema. Parece que el problema no viene por aquí.
Al ejecutar la versión xml del sitemap me da el siguiente código de error:
Error de lectura XML: no se encuentra elemento
Ubicación: http://www.xxx.com/sitemap-xml.html?sitemap=4
Número de línea 20272, columna 1:
El sitemap se corta en la línea 20272 y da este error.
He podido descubrir el artículo que viene a continuación y que no puede procesar (Xmap procesa los menús y los artículos por orden de Id) , lo he revisado y parece que todo está bien.
No se por donde seguir. Alguna idea?
Saludos
Hola jmdpro,
¿Has probado desinstalar completamente Xmap y volver a instalarlo? para verificar más que nada que no sea fruto de una mala instalación, cosa que dudo pero nunca se sabe.
Es una extensión muy sencilla en su concepto y funcionamiento y no es proclive a causar errores.
Saludos
Hola Gnumax:
Si, es raro que tenga fallos y mas cuando en los dos ultimos meses solo hemos áñadido/modificado artículos sin realizar actualizaciones de software ni cambios de configuraciones. Hasta hace unas semanas funcionaba correctamente.
Lo he instalado y desinstalado un par de veces pero todo sigue igual. De todas formas la desinstalación no borra del todo algunos datos de la aplicación ya que cuando vuelvo a instalar mantiene datos de la instalación anterior como el nombre del sitemap (en mi caso sitemap4) o el numero de accesos que se han realizado al sitemap. Parece que no hace una desinstalación limpia. No se si esto puede afectar, igual que maniene estos datos, igual tambien mantiene el error.
Tengo la sensación que el problema no es de Xmap. Xmap simplemente se encuuentra con un problema que no le permite acabar de construir el sitemap. Pero no consigo descubrir cual es.
He estado revisando tambien la configuración y los datos de sh404sef pero tampoco veo nada por ahí, parece que todo está bien.
Puede tener algo que ver algun cambio en la configuración del servidor ? Quizas el hosting ha realizado ultimamente cambios o actualizaciones de software en el servidor.
Saludos
Hola,
Si tienes un error 500 lo más fácil es que mires en el fichero error_log que encontrarás en public_html y ahí podrás ver el error, nos puedes dar una url para ver el error?
Hola:
La descripción del error, copiado del error_log, está en el primer post de este hilo. Con la actualización a la ultima versión de Xmap 1.2.11, donde pone 142 ahora sale 160.
Saludos
Hola jmdpro,
Veo que has consultado también en Xmap: http://joomla.vargas.co.cr/en/forum?view=topic&f=1&t=3414&start=0&st=0&sk=t&sd=a y parece que no eres el único con el problema.
Revisando en Virtuemart http://forum.virtuemart.net/index.php?topic=57279.0 parece que hay el mismo problema.
En suma parece que nadie tiene la solución, y que Xmap, Virtuemart y sh404sef no parece que sea una buena combinación.
¿Y probar, otro componente de SEO como AceSef?
Saludos,
Hola jordi
Lo curioso es que hasta hace unas semanas funcionaba bien. Para la cantidad de sitios que deben tener estos tres componentes funcionando juntos me parece que son pocos los posts que reportan problemas haciendo referencia a alguna incompatibilidad entre ellos.
Respecto a lo de cambiar de componente SEO nos es un gran inconveniente ya que tenemos muy personalizado el componente sh404sef y nos funciona muy bien.
Seguiré indagando... y actualizaré Joomla a la ultima versión estable para probar si así se arregla.
Saludos
Hola
He actualizado todas las aplicaciones implicadas a la ultima versión disponible:
Joomla 1.5.22
Virtuemart 1.1.7
Xmap 1.2.10
sh404sef 2.2.2.941
y se sigue produciendo el error.
Desde el principio tengo la sensación que el problema seguramente no tiene nada que ver con las aplicaciones instaladas y que seguramente tenía algo que ver con cambios de configuración en el servidor. Hacía 4 meses que no actualizabamos ninguna aplicación y por lo tanto, sin hacer ningun cambio, no tenía sentido que el sitemap de repente dejase de funcionar.
Para comprobarlo he realizado una copia del sitio en local.
Al lanzar el sitemap en local por primera vez, me he encontrado con errores de timeout y falta de memoria para lo cual he aumentado los parametros max_execution_time y memory_limit del fichero php.ini
he lanzado de nuevo el sitemap y voilá... ha funcionado perfectamente.
El sitemap es grande, tiene unas 3.500 url's indexadas y supongo que para ejecutarse requiere de mas tiempo y memoria que la mayoría de procesos y tambien supongo que el servidor debe tener limitaciones en este sentido, que impiden que se ejecute completamente, produciendose un error.
Ademas esta suposición me cuadra bastante, ya que cuando, probando diferentes opciones para centrar el problema, reducía el numero de puntos de menu a mostrar por el sitemap, modificando los parametros de Xmap, el sitemap se ejecutaba correctamente.
Por lo tanto parece que el problema tiene que ver con que el sitemap es grande y el servidor no tiene tiempo o suficiente memoria para ejecutarlo.
No se si compartis mi opinión, pero todos los indicios conducen a que es un problema generado por la configuración del servidor, sino fuese así, en el servidor local tampoco funcionaría.
¿ Como puedo conocer los parametros que utiliza el servidor en el que está alojado la web ?
¿ Puedo saber si se han realizado cambios de configuración en el servidor en el ultimo mes y medio ?
Y si hay que cambiar los parametros...
¿ Como puedo cambiarlos ?
Gracias por anticipado y saludos.
Hola,
Pues seguramente es el problema que comentas del max_execution_time, el hosting lo tienes con nosotros? si es así dinos la url para que podamos verificarlo?
Si, el hosting lo tenemos con vosotros.
www.promoespace.com
Saludos
Hola,
No es un error del max_execution_time, revisa el error_log de tu sitio y verás los errores que te genera xmap.
Igualmente un sitemap de 3600 artículos y que te lo genere dinámicamente no me parece muy adecuado, sobretodo teniendo en cuenta que te va a tardar más de 20 segundos en generar ese sitemap.