Errorres Actualizando Moodle 4.0.5

Errorres Actualizando Moodle 4.0.5

de Mary Peña -
Número de respuestas: 4

Estimados todos necesito de su expertis:

Me encuentro actualizando plataforma Moodle a versión 4.0.5 y me ha aparecido estos problemas, sigo abajo...

mysql_full_unicode_support#File_format

Su base de datos utiliza Antelope como formato de archivo. La compatibilidad total con UTF-8 en MySQL y MariaDB requiere el formato de archivo Barracuda. Por favor, cambie al formato de archivo Barracuda. Consulte la documentación MySQL full unicode support para obtener más detalles.

mysql_full_unicode_support#Large_prefix

Para el soporte completo de UTF-8 en MySQL y MariaDB se requiere cambiar la opción de MySQL 'innodb_large_prefix' a 'ON'. Mira la documentación para más detalles.

Buscando encontré esta solución: 

Solución 1:

Para solucionar el problema cuando instalamos Moodle referido al sistema de ficheros Barracuda y al parámetro innodb_large_prefix ON, debemos ingresar a la base de datos que vamos a usar en nuestra web moodle como usuario root o SUPERUSER y ejecutar los siguientes comandos:

use databaseusadaenmoodle;
SET GLOBAL innodb_file_per_table=1;
SET GLOBAL innodb_file_format=Barracuda;
SET GLOBAL innodb_large_prefix = ON;

Con éstos sencillos comandos mysql podremos continuar instalando moodle sin más problemas referidos a la database.

Solución 2:

En un video encontré que debía ejecutar estos comando en la base de datos en consulta SQL

set global innodb_file_format=BARRACUDA;

set global innodb_large_prefix=ON;

Si ven tienen semejanza, pero en la primera solución agrega una línea a tabla. 

Sinceramente quiero aprender a actualizar Moodle, debo admitir que la información técnica de base de datos no siempre la comprendo.

Pero con ayuda de ustedes creo puedo identificar los errorres e ir aprendiendo.

Cual de las 2 soluciones esta correcta?

les agradecería su opinión.

Desde ya gracias. adjunto screenshot

Errorres  actualizando Moodle 4.0.5

Promedio de valoraciones: -
En respuesta a Mary Peña

Re: Errorres Actualizando Moodle 4.0.5

de Jose Nosolored -
Imagen de Moodlers de gran ayuda
Hola, Mary:

La versión Moodle 4.0.5 es antigua, la última de la rama es la 4.0.12. ¿Desde qué versión estás actualizando?

Antes de actualizar siempre se recomienda revisar el entorno desde el apartado Servidor > Entorno y ver si se cumplen todos los requisitos

...admin/environment.php desde ahí te indicará los requisitos previos que se deben cumplir antes de actualizar a una versión superior.

Qué valor tienes en el fichero config.php en el apartado dbcollation
utf8mb4_general_ci
utf8mb4_unicode_ci
etc.?

¿Tiene acceso root a tu instalación de Moodle? para poder ejecutar esas consultas necesitar acceder a la consola Linux o si tienes acceso root con PHPMyAdmin también podrías.

No obstante también hay que realizar el proceso de conversión mediante (ejecutado desde la instalación donde tienes Moodle)
php admin/cli/mysql_collation.php --collation=utf8mb4_unicode_ci
y optimizar la base de datos ysqlcheck -u root -p --auto-repair --optimize --all-databases

¿Donde tienes instalado Moodle es un servidor dedicado, compartido, instalación local? El cambio que se hace en base de datos va a afectar a todo MySQL.

Revisa la wiki oficial
https://docs.moodle.org/all/es/MySQL_soporte_unicode_completo
o
https://docs.moodle.org/404/en/MySQL_full_unicode_support

También te indica que se recomienda aumentar el parámetro de php max_imput_vars a 5.000. ¿Tienes acceso a la configuración de php.ini? ¿Puedes modificarlo con .htaccess o .user.ini si tienes permisos para ello.
Por ejemplo con php_value max_input_vars 10000

Un saludo.
En respuesta a Jose Nosolored

Re: Errorres Actualizando Moodle 4.0.5

de Mary Peña -
Hola @josegarcia:
Muchas gracias por tan valiosa información.

Realizare las comprobaciones y lecturas recomendadas e iré comentando el avance.
Si me surge una duda la colgaré acá.

Muchas gracias
Bendiciones
En respuesta a Jose Nosolored

Re: Errorres Actualizando Moodle 4.0.5

de Mary Peña -
Hola Jose garcia :

Revise el sistema la versión actual es Moodle 4.0.5 a que versión podría actualizar Moodle??

No es posible entrar al administrador de moodle solo al hosting es un hosting compartido

Comentas de que en el archivo admin/environment.php pero no se identificar mucho este es el código de tal archivo

<?php
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see .

/**
* This file is the admin frontend to execute all the checks available
* in the environment.xml file. It includes database, php and
* php_extensions. Also, it's possible to update the xml file
* from moodle.org be able to check more and more versions.
*
* @package core
* @subpackage admin
* @copyright 2006 onwards Eloy Lafuente (stronk7) {@link http://stronk7.com}
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/


require_once('../config.php');
require_once($CFG->libdir.'/adminlib.php');
require_once($CFG->libdir.'/environmentlib.php');
require_once($CFG->libdir.'/componentlib.class.php');

// Parameters
$action = optional_param('action', '', PARAM_ALPHANUMEXT);
$version = optional_param('version', '', PARAM_FILE); //

$extraurlparams = array();
if ($version) {
$extraurlparams['version'] = $version;
}
admin_externalpage_setup('environment', '', $extraurlparams);

// Handle the 'updatecomponent' action
if ($action == 'updatecomponent' && confirm_sesskey()) {
// Create component installer and execute it
if ($cd = new component_installer('https://download.moodle.org',
'environment',
'environment.zip')) {
$status = $cd->install(); //returns COMPONENT_(ERROR | UPTODATE | INSTALLED)
switch ($status) {
case COMPONENT_ERROR:
if ($cd->get_error() == 'remotedownloaderror') {
$a = new stdClass();
$a->url = 'https://download.moodle.org/environment/environment.zip';
$a->dest = $CFG->dataroot . '/';
print_error($cd->get_error(), 'error', $PAGE->url, $a);
die();

} else {
print_error($cd->get_error(), 'error', $PAGE->url);
die();
}

case COMPONENT_UPTODATE:
redirect($PAGE->url, get_string($cd->get_error(), 'error'));
die;

case COMPONENT_INSTALLED:
redirect($PAGE->url, get_string('componentinstalled', 'admin'));
die;
}
}
}

// Get current Moodle version
$current_version = $CFG->release;

// Calculate list of versions
$versions = array();
if ($contents = load_environment_xml()) {
if ($env_versions = get_list_of_environment_versions($contents)) {
// Set the current version at the beginning
$env_version = normalize_version($current_version); //We need this later (for the upwards)
$versions[$env_version] = $current_version;
// If no version has been previously selected, default to $current_version
if (empty($version)) {
$version = $env_version;
}
//Iterate over each version, adding bigger than current
foreach ($env_versions as $env_version) {
if (version_compare(normalize_version($current_version), $env_version, '<')) {
$versions[$env_version] = $env_version;
}
}
// Add 'upwards' to the last element
$versions[$env_version] = $env_version.' '.get_string('upwards', 'admin');
} else {
$versions = array('error' => get_string('error'));
}
}

// Get the results of the environment check.
list($envstatus, $environment_results) = check_moodle_environment($version, ENV_SELECT_NEWER);

// Display the page.
$output = $PAGE->get_renderer('core', 'admin');
echo $output->environment_check_page($versions, $version, $envstatus, $environment_results);


En archivo config.php
tiene 'dbcollation' => 'utf8mb4_general_ci',
Hay que modificarlo cómo y desde donde?

Tengo acceso a PHPMyAdmin

Agradeceria tu valiosa ayuda.
Desde ya gracias

Saludos
Mary
En respuesta a Mary Peña

Re: Errorres Actualizando Moodle 4.0.5

de Jose Nosolored -
Imagen de Moodlers de gran ayuda
Hola, Mary Peña:

Para actualizar Moodle necesitas tener acceso a la Administración bien vía Web o mediante consola Linux con php-cli
+info: https://docs.moodle.org/404/en/Upgrading

La versión a la que puedes actualizar te la indica tu entorno.

En las capturas previas de este post mostrabas parte de tu entorno.

No tienes que ver el código de admin/environment.php, debes entrar en Administración del sitio > Servidor > Entorno que se corresponde si entraras directamente con

misitio.com/admin/environment.php (tienes que sustituir misitio.com por la dirección web o URL que te muestra en el navegador Web en la barra de direcciones.

y ver la configuración que tienes y a qué versión puedes actualizar según los requisitos de Moodle.

Te aparecerá un texto con
Compruebe si su servidor se ajusta a los requerimientos de instalación actuales y futuros.
Versión de Moodle

y un desplegable donde puedes revisar si puedes tener Moodle 4.1, 4.2, 4.3 o 4.4 en tu instalación.

Un saludo.