SmythSys IT Consulting

Error Call to undefined function current_language() al correr el cron de Moodle

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.

Deja un comentario

Resumen de nuestra Política de Privacidad

  • Responsable: SmythSys IT Consulting SLNE.
  • Finalidad: Gestionar y moderar los comentarios.
  • Legitimación: Necesitas dar tu consentimiento para publicar un comentario.
  • Destinatarios: Tus datos se alojan en los servidores de OVH.
  • Derechos: Tienes derecho a acceder, rectificar, limitar y suprimir los datos en la dirección del responsable (en nuestra política de privacidad).