Otro de los errores típicos que nos encontramos al dar soporte a los clientes.
En este caso se trata al ejecutar el cron que necesita Moodle para las tareas de mantenimiento y limpieza. En el manual de Moodle indica que hay que ejecutar:
/usr/bin/php /ruta/hacia/moodle/admin/cli/cron.php
Este comando (con versiones actuales de Moodle, y dependiendo de la versión que tengas en tu servidor) puede dar el siguiente error:
Call to undefined function current_language() in /var/www/clients/client10/web87/web/lib/setuplib.php:713
Causa.
La causa de este error es que el script cron.php de las nuevas versiones de Moodle tienen comandos que no son compatibles con versiones anteriores a la 7.2 y tu servidor está ejecutando (al menos esa instancia) con una versión anterior.
Solución.
La solución es cambiar el comando que recomiendan y ejecutar la 7.2 (o superior). Así:
/usr/bin/php7.2 /ruta/hacia/moodle/admin/cli/cron.php
Si te da error ve a /usr/bin/ a ver que versiones tienes. Si no tienes superior a la 7.1 te toca instalar o pedir que te instalen una versión superior.
Una vez que veas que funciona en cli, puedes ponerlo en un cron job.
Nota: los números que he usado son actuales. Con problemas futuros habrá que probar con otras versiones, siempre superiores a la que te da el error.
Os recomendamos los siguientes productos relacionados con la informática: