Problemas con Drupal 8 y optimización en WAMP

Hoy he estado probando la versión alpha 3 de Drupal 8 (la última versión alpha disponible de Drupal, un CMS escrito en PHP). La instalación es muy sencilla (quizás otro día explique algo sobre esto), y dado que hace apenas unos días instalé el nuevo WAMP 2.4, detecté un par de problemas en mitad de la instalación de Drupal:

An AJAX HTTP error occurred.
HTTP Result Code: 500
Debugging information follows.
Path: http://localhost:81/drupal2/core/install.php?langcode=es&profile=standard&id=1&op=do_nojs&op=do 
StatusText: Internal Server Error
ResponseText:

y

Fatal error: Maximum execution time of 30 seconds exceeded in C:\wamp\www\drupal-8.0-alpha3\core\vendor\doctrine\common\lib\Doctrine\Common\Reflection\StaticReflectionParser.php on line 132

Lo más fácil aquí es pensar que es un problema por el tiempo de ejecución, y así es. Hay quienes sugieren aumentar dicho tiempo a 10 minutos, y eso es demasiado tiempo para ejecutar una página (yo sugiero 1 o 2 minutos como máximo, me aburre esperar). Por ello, lo que aquí os voy a proponer son dos cosas que debeis de hacer para poder usar vuestro servidor WAMP más eficientemente:

  • Aumentar el tiempo de ejecución permitido.
  • Aumentar el tamaño del buffer de comunicación.


Aumentar el tiempo de ejecución permitido.

Para ello debemos modificar la variable “max_execution_time” de “php.ini” que inicialmente tendrá previsiblemente el valor 30.

Para comprobar y poder modificar dicho valor, puedes acceder a “php.ini” por dos caminos:

  • Click izquierdo sobre el icono de WAMP Server / PHP / php.ini
  • O directamente acceder a “C:\wamp\bin\php\php5.4.12\php.ini” (quizás tu versión de PHP sea diferente, o puede que no estés utilizando el WAMP).

Busca la variable “max_execution_time”. En mi caso, se estaban utilizando apenas 30 segundos:

CapturePHPini-max_execution_time

En mi caso le pondré un valor de 60 segundos. Si tu ordenador es muy antiguo, ponle más tiempo:

max_execution_time = 60


Aumentar el tamaño del buffer de comunicación

Aumentando el tamaño del buffer de comunicación, el servidor WAMP en su conjunto será más rápido. Para ello vamos a modificar la variable “max_allowed_packet” que controla el máximo tamaño de su buffer de comunicación de “my.ini” de MySQL.

Para comprobar y poder modificar dicho valor, puedes acceder a “my.ini” por dos caminos:

  • Click izquierdo sobre el icono de WAMP Server / MySQL / my.ini
  • O directamente acceder a “C:\wamp\bin\mysql\mysql5.6.12\my.ini” (quizás tu versión de MySQL sea diferente, o puede que no estés utilizando el WAMP).

Busca la variable “max_allowed_packet”. En mi caso, se estaban utilizando apenas 1 MB:

MyIni-max_allow_packet

En mi caso voy a ponerlo con un valor de 64M, ya que tengo un ordenador bastante potente y en principio no necesito más memoria:

max_allowed_packet = 64M

Después de estos dos cambios, guarda los cambios de los archivos modificados y reinicia WAMP Server para que los cambios surjan efecto.


Nota: Si usas un servicio de hosting.

Por otra parte, para un servicio de hosting sería recomendable usar más MB. Normalmente las compañias de hospedaje no te permitán acceso a “my.ini”, por lo que puedes acceder al terminal de MySQL o a phpMyAdmin (en el apartado de SQL), y escribir el siguiente query:

SHOW VARIABLES LIKE 'max_allowed_packet';

CaptureConfig

Este último resultado está expresado en bytes y no en megabytes, por lo que tendrás que dividirlo dos veces entre 1024 (en mi caso, antes estaba utilizando 1 MB, es decir, 1048576 bytes, (1 * 1024 * 1024)).

Sería adecuado que el servidor tuviese para la variable “max_allowed_packet” al menos el valor 128 o 256M (cuanto más megas mejor).

Leave a comment

Por favor, inicia sesión con uno de estos métodos para publicar tu comentario:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s