Moodle con PHP 7.0 ¿Actualizamos?

Desde su versión 3.0.1 (diciembre de 2007), Moodle está preparado para utilizar PHP 7.0. Aprovechar dicha capacidad puede tener un impacto muy positivo en la satisfacción del alumnado, agilizar las tareas de administración de Moodle y disminuir  los costes de escalabilidad de un proyecto de formación que utilice Moodle como plataforma de e-Learning.

En este artículo explicaré brevemente en qué consiste PHP 7, cuál ha sido mi experiencia poniéndolo a prueba y por qué su adopción en nuestras plataformas de aprendizaje con Moodle puede suponer beneficios como los que acabo de mencionar. También expondré algunas consideraciones de interés que hay que tener en cuenta antes de lanzarse a usarlo.

PHP 7.0 y Moodle 3.0

PHP 7.0 y Moodle

¿Qué es PHP 7.0?

PHP es el lenguaje de programación con el que está desarrollado el código de Moodle. Es el lenguage empleado por gran cantidad de software orientado a la creación de contenidos web, como por ejemplo son otros LMS (Chamilo, Dokeos, Sakai, etc.), CMS (WordPress, Joomla, Drupal, etc.) foros (SMF, phpBB, MyBB) u otras soluciones web.

La última serie de versiones estables de este lenguaje, PHP 7.0, fue lanzada el 3 de diciembre de 2015. Actualmente ya se encuentra en su versión estable 7.0.6 lanzada el pasado jueves 28 de abril.

Como detallaré más abajo, PHP 7.0 supone una revolución ya que mejora drásticamente tanto la velocidad de acceso como la cantidad de memoria consumida. Como muestra esta infografía sobre el rendimiento de PHP 7.0 en distinto software, se produce un cambio impresionante respecto a versiones anteriores de PHP, desmarcándose definitivamente de otros lenguajes de programación web.

Moodle y PHP

Desde sus inicios en 2002 Moodle ha sido desarrollado utilizando PHP y actualizando sus requisitos básicos y recomendados para aprovechar los avances de este lenguaje de programación, lo cual ha permitido que Moodle mantenga una posición lider tanto en seguridad como en amplitud de posibilidades entre los LMS de código abierto y gratuito.

Sin embargo, este crecimiento de Moodle también lo ha convertido en un auténtico devorador de recursos, obligándonos a adquirir o contratar servidores cada vez con mayores prestaciones si no queríamos perjudicar la experiencia de nuestros usuarios.

Moodle se hace totalmente compatible con PHP 7.0 a partir de su versión 3.0.1, lanzada el 21 de diciembre de 2015. Aunque para el próximo lunes 9 de mayo está previsto el lanzamiento de su versión 3.0.4, no hay cambios previstos que afecten a su compatibilidad con PHP 7.0.

Ventajas de usar PHP 7.0 con Moodle

Actualizar tu aula virtual de Moodle a 3.0.1 (o superior) y su servidor a PHP 7.0 va a suponer una mejora de la experiencia de los usuarios, que encontrarán un entorno mucho más agil, con una respuesta considerablemente más alta al acceder, abrir cursos, enviar tareas, etc.

En muchos casos también va a suponer una reducción de costes, ya que nos permitirá aumentar el número de alumnos y cursos sin necesidad de invertir más en el servidor. En los casos de alojamiento en un hosting web incluso puede darse el caso de que podamos reducir nuestro contrato a una solución más económica que se adapte a nuestras necesidades.

El equipo de Moodle ha realizado algunos gráficos comparativos que reproduzco a continuación y que ilustran visualmente la magnitud de esta mejora respecto a PHP 5, que es su anterior versión (no existe versión 6 de PHP).

20% más rápido al acceder a la plataforma:

Php 7 20% más rápido login que php 5

59% más rápido al cargar página de un curso:

Php 7 59% más rápido carga de un curso

42% menos de memoria usada al acceder

42% de memoria menos usada al acceder a Moodle usando php7

38% menos de memoria usada al visualizar un curso:

38% menos de memoria usando php 7 vs php 5 al visualizar un curso

Comparación en un servidor VPS

Por mi parte he realizado diversas pruebas de rendimiento utilizando la versión 3.0.3 de Moodle con PHP 7.0.5.  En el siguiente video se puede que, en este caso, la diferencia de rendimiento es incluso mayor que la que nos indican las pruebas del equipo de Moodle.

Ambas instalaciones de Moodle están hechas en el mismo servidor web, un VPS con Intel Xeon a 2.40GHz con 4 Gb de RAM y unidad SSD, contratado con el servicio de hosting de la empresa Cubenode, que ofrece  con una relación calidad-precio bastante buena, adecuada para pequeños o medianos proyectos.

Algunas consideraciones antes de lanzarse a usar PHP 7.0

Tanto PHP 7 como su compatibilidad con Moodle continúa siendo una tecnología bastante reciente y aún cabe la posibilidad de que existan problemas ocultos que no se hayan descubierto.  No obstante, el hecho de que ya hayan pasado 5 meses sin detectarse fallos en el core de Moodle es una excelente señal.

Es muy importante comprobar concienzudamente los plugins y themes que quieras usar en Moodle. Debido a que en PHP 7 quedan obsoletas muchas funciones de antiguas versiones, una gran cantidad de complementos no funcionan o pueden dar graves problemas que afecten a la estabilidad del sistema.

Además, desde el sitio oficial de Moodle nos indican la existencia de las siguientes incompatibilidades aún no resueltas:

  • Aún no existen drivers en PHP 7 para conectar Moodle con una base de datos Microsoft SQL por lo que si la utilizas como base de datos principal o conectas con alguna utilizando los plugins auth_db o enrol_db, no debes actualizar aún a PHP 7.
  • El el caso de que utilices una base de datos Oracle, tampoco se recomienda actualizar ya que, aunque existen plugins compatibles con PHP 7, actualmente (mayo de 2015) continúan sin funcionar adecuadamente.

Como conclusión… ¡pásate a PHP 7!

En mi opinión, las ventajas que ofrece PHP 7 para Moodle superan con creces los riesgos que supone su adopción.

Actualmente me parece muy adecuado iniciar proyectos de variada magnitud en Moodle con PHP 7, ya que nos ahorrará una cantidad considerable de recursos y nos abrirá las puertas a nuevas funcionalidades o mejoras que sin duda vamos a empezar a ver en próximamente en Moodle gracias a PHP 7.

Si ya estás utilizando Moodle 3.0 con una versión antigua de PHP y MySQL, y no utilizas una gran cantidad de plugins, te animo a considerar la posibilidad de migrar a PHP 7. La actualización puede resultar una inversión que redundará en una mayor satisfacción de los usuarios y un menor coste en servidores.

Y si ya has probado Moodle con PHP 7, ¿a qué esperas para contar aquí tu experiencia?

Acerca de Mario G. Almonte Moreno

Formador y consultor en e-Learning, soluciones web, educación y nuevas tecnologías.
Scroll To Top