Problemas con Moodle 4.1 y 4.2 (MariaDB y PHP)
DestacadaRecientemente Moodle publicó una nueva versión v4.2 (fines de abril 2023) y al querer instalarla con Softaculous detecté algunos errores que comparto con sus respectivas soluciones:
1er error en v4.2: Versión de PHP
Esto se debe a que en mi cuenta estaba configurado PHP 8.1 y Moodle requiere una versión inferior (8.0). Si no tenemos nada más corriendo en el hosting (lo ideal) podemos cambiar la versión de PHP por la deseada: Cambiar la versión de PHP
UPDATE: Si por alguna razón bajamos luego la versión de PHP de 8.x a 7.x es posible que al acceder al admin de Moodle recibamos un error en pantalla como el siguiente: Exception - syntax error, unexpected '|', expecting variable (T_VARIABLE). En ese caso deberemos volver a la versión de PHP que requiere Moodle (8.0).
2do error en v4.2: Versión de MariaDB
Aquí la cuestión es que esta nueva versión salió hace muy poco, y la versión de MariaDB que requiere (10.6.7+) aún no la soporta mi hosting. Si bien cPanel ya tiene esa versión disponible de MariaDB, no así MariaDB en Cloudlinux que el sistema operativo donde se ejecuta cPanel.
Estoy seguro que en las próximas semanas ya estará disponible y todos los hostings que utilizan cPanel+Cloudlinux lo tendrán disponible. Mientras tanto, sugiero instalar la versión anterior de Moodle (v4.1), que aún es la más utilizada en la actualidad y luego, cuando MariaDB 10.6.7+ esté disponible, se podrá actualizar a la nueva versión sin problemas.
Si el requisito es instalar esta nueva versión que acaba de salir, otra opción es apuntar a un servidor propio como un Cloud VPS con cPanel (sin Cloudlinux) y ahí se podrá cumplir con ese nuevo requisito.
3er error en v4.1: Error de PHP
Al instalar esta versión desde Softaculous va todo OK! Pero luego al ingresar vía web, aparece este error:
"Excepción - Call to undefined function core\session\disk_free_space()"
Este error se debe a un bug reportado en el Tracker de Moodle oficial y refiere a que existe una linea que no es compatible con PHP 8.x y se corrige cambiando simplemente una linea de código, tal como se explica allí.
¡Espero que les sirva el aporte! :)
-
Buen aporte Ale, gracias!!!!!!
0 -
Update: Me confirman que WNPower ya ofrece MariaDB 10.6+ en nuevos servicios de Cloud Hosting (ojo, preguntar antes por las dudas ya que es una feature nueva) y pronto lo ofrecerá también en los planes de Hosting.
0 -
Alejandro, como estas? Segui los pasos que dejaste arriba,Coloque el PHP 8.0 en el subdominio. Luego instale Moodle y me dirigía a administrador de archivo. Fui hasta la carpeta que dice donde debo cargar el código que es lib/classes/sesión/file.php
entre a modificar el código php y cargue lo siguiente en
// MDL-77185: disk_free_space() returns undefined function exception if disabled in PHP 8.x.
$freespace = function_exists('disk_free_space') ? disk_free_space($this->sessiondir) : false;
en la línea 68 y 69
Y sigue sin funcionar Moodle.Que puede estar fallando?0 -
Debía eliminar la línea de código de arriba, solucionado. Muchas gracias por la ayuda.
1
Iniciar sesión para dejar un comentario.
Comentarios
4 comentarios