Moodle 2.3 y el mensaje PHP catchable fatal error

Published on : 18 marzo, 2013
5 comments
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; }

 

5 comments

  1. Silvia Suria Torres

    «borrar el contenido del campo sectioncache»

    ese campo no existe en mi tabla V2.3.7+
    donde mas puedo verlo
    gracias.


    1. Silvia Suria Torres

      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


  2. Silvia Suria Torres

    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.


  3. Silvia Suria Torres

    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,


XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.