Moodle 2.3 y el mensaje PHP catchable fatal error
Instalas un Moodle 2.3.4, importas algunos cursos y los modificas ligeramente, adaptándolos a las nuevas necesidades. Y de repente, al borrar un elemento del curso (etiqueta, chat o cualquier recurso o actividad), nos devuelve el siguiente error:
Detectado un error de codificación, debe ser corregido por un programador: PHP catchable fatal error
Y no nos deja acceder al curso, ni ver nada de él. ¿Cómo lo arreglamos?.
Bueno, está la opción rápida que te saca del apuro: irte a la base de datos de Moodle y localizar la tabla _course. En ella vereis vuestros cursos. Localizais el que os da el error y editais el registro. Sólo tendreis que borrar el contenido del campo sectioncache y lo habreis arreglado.
La opción «para que no de más problemas» es irse al archivo lib/modinfolib.php y sobre la línea 1096, localizar el código
if ((!$this->visible or !$this->available) and
!has_capability('moodle/course:viewhiddenactivities', $modcontext, $userid)) {
$this->uservisible = false;
y sustituirlo por
if ($modcontext != "") {
if ((!$this->visible or !$this->available) and !has_capability('moodle/course:viewhiddenactivities', $modcontext, $userid))
{ $this->uservisible = false; }
}
else
{ $this->uservisible = false; }
«borrar el contenido del campo sectioncache»
ese campo no existe en mi tabla V2.3.7+
donde mas puedo verlo
gracias.
Hola Arturo
Si en la versión 2.3.7+ de moodle ya no existe ese campo, la solución que queda es modificar el código que explico en el artículo. Espero que te ayude este comentario
En un 2.2.11 ha funcionado también. En nuestro caso era la línea 1005 la que había que corregir. Muchas gracias por compartirlo.
Tengo el mismo error en la verision 2.8.3. Todo marchaba bien, pero al crear una nueva tarea y al probar subir un documentos como estudiante, me salió el error y despues no puedo ingresar con dicho estudiante solamente como administrador.
Hice el cambio del codigo sugerido y no me funcionó.
Si pueden ayudarme, se los agracedere mucho.
Cordialmente,
Estimados la solucion la encontré cambiando el tema, tenia BCU y cambie a CLEAN
Saludos