Warning: include(/homepages/28/d322425856/htdocs/v3rgu1/blog/wp-content/themes/v3rgu1/functions.php): failed to open stream: Permission denied in /homepages/28/d322425856/htdocs/v3rgu1/blog/wp-settings.php on line 329

Warning: include(): Failed opening '/homepages/28/d322425856/htdocs/v3rgu1/blog/wp-content/themes/v3rgu1/functions.php' for inclusion (include_path='.:/usr/lib/php7.4') in /homepages/28/d322425856/htdocs/v3rgu1/blog/wp-settings.php on line 329
2011 abril | v3rgu1.com

Archive for abril, 2011

11 29
04
2011

ERROR 500: 1and1 hosting

Viernes, abril 29th, 2011

Cuál es mi sorpresa cuando al acceder a este blog en el día de ayer, y me encuentro con una bonita pantalla que dice:

ERROR 500: ERROR INTERNO DEL SERVIDOR

Ha surgido un problema inesperado que impide que el servidor pueda llevar a cabo la solicitud.

Ante tal mensaje de error, accedo inmediatamente a otro de mis blogs: sinnoticiasdelmundo.com, y me encuentro con otro error, esta vez mostrando un error de un plugin que tenía activado.

Ambos blogs personales, funcionando bajo wordpress, tanto v3rgu1.com como sinnoticiasdelmundo.com, se encuentran alojados en el hosting 1and1, del cual, hasta el día de hoy, he de reconocer que nunca había tenido ninguna queja ni problema.

Cuando había tenido alguna duda, había contactado con su soporte vía correo electrónico, resolviendo las dudas en un plazo razonable de tiempo. Sin embargo este no ha sido el caso. Dado que recientemente no había actualizado ninguna versión de wordpress ni de plug-ins, el primer pensamiento fue pensar en algún problema del hosting 1and1,  por lo que les notifiqué la incidencia inmediatamente, si bien aún seguimos esperando respuesta.

Por suerte, existe gente dispuesta a compartir sus conocimientos y soluciones, y buscando un poco por internet, hemos podido encontrar compañeros que se encontraban en situación similar a la nuestra, con su blog funcionando bajo wordpress alojado en 1and1 y con los mismos problemas, que aportaban soluciones, que efectivamente han funcionado.

Parece ser que el problema se debe a algún cambio realizado en 1and1 hosting, que provoca que la versión de php por defecto no sea php5, y por lo tanto, dejen de funcionar las páginas realizadas en php 5.x.

Esto se puede solucionar fácilmente accediendo al archivo .htaccess de tu instalación aplicación, e incluyendo las siguientes líneas:


AddType x-mapp-php5 .php .php4
AddHandler x-mapp-php5 .php .php4

De esta forma, le indicamos a apache el orden de versión de php por el que queremos que procese nuestros scripts.

Espero que esta solución al ERROR 500: Error interno del servidor en 1and1, os sea tan útil como me ha sido a mí gracias a la comunidad que entre todos formamos en internet.

0 21
04
2011

Character decoding failed

Jueves, abril 21st, 2011

Hace algunos días, programando unos scripts en los que enviaba una petición a un servlet de Java a través de AJAX, me encontré con el siguiente mensaje de error en la consola, en mi caso, de Apache Tomcat:

02-abr-2011 23:50:29 org.apache.tomcat.util.http.Parameters processParameters
ADVERTENCIA: Parameters: Character decoding failed.
Parameter skipped.{id=[Ljava.lang.String;@137c90d, id=[Ljava.lang.String;@1709902, nbsp; <span class=[Ljava.lang.String;@14d626e}java.io.CharConversionException: EOF

Lo que en un primer momento tenía pinta de ser uno de tantos problemas que te vuelven loco buscando soluciones por internet, pero sin embargo la solución era mucho más sencilla de lo esperado.

Dentro de la colección de parámetros que construía para enviar hacia el servlet de Java, podían existir en ocasiones caracteres especiales tales como ‘%’, ‘$’, etc, que generaban el error mencionado: Character decoding failed.

La solución a este problema pasaba simplemente por codificar la cadena a enviar por AJAX en formato unicode, y para ello utilizaremos la función de javascript escape.

El código quedaría parecido a estas líneas:

    var params = "id=" + textAreaName + "&value=" + escape(text);
    $.ajax({
        url: "/MyApp/ajax/http/edit?id=" + id,
        type: 'GET',
        data: params,
        success: function(){ // your code }
    });