Errore database corso

Errore database corso

di Annalisa Panesi -
Numero di risposte: 11

Ciao a tutti, ho un problema con un corso che ho creato su Moodle 2.7.1.

Ho creato la categoria. Ho creato il corso. Quando clicco per andare sul corso per "riempirlo" mi esce una pagina con scritto così:


Si è verificato un errore durante la lettura del database


Ho già disinstallato e reinstallato moodle, e aggiornato all'ultima versione. Ma continua a darmi questo problema e il supporto del mio server non può aiutarmi perché dice che un problema applicativo di moodle.


Potete aiutarmi? Grazie

Media dei voti:  -
In riposta a Annalisa Panesi

Re: Errore database corso

di Andrea Bicciolo -
Immagine Core developers Immagine Plugin developers Immagine Translators

Ciao Annalisa,

prova ad attivare la modalità di debug e verifica se ottieni ulteriori messaggi: https://docs.moodle.org/27/en/Debugging


In riposta a Andrea Bicciolo

Re: Errore database corso

di Annalisa Panesi -

Questo è quanto mi dice ma io non capisco cosa significhi...

Invalid get_string() identifier: 'maximumsize' or component 'assignment'. Perhaps you are missing $string['maximumsize'] = ''; in mod/assignment/lang/en/assignment.php?
  • line 293 of /lib/classes/string_manager_standard.php: call to debugging()
  • line 6896 of /lib/moodlelib.php: call to core_string_manager_standard->get_string()
  • line 13 of /mod/assignment/settings.php: call to get_string()
  • line 89 of /lib/classes/plugininfo/mod.php: call to include()
  • line 38 of /admin/settings/plugins.php: call to core\plugininfo\mod->load_settings()
  • line 6626 of /lib/adminlib.php: call to require()
  • line 6728 of /lib/adminlib.php: call to admin_get_root()
  • line 38 of /admin/settings.php: call to admin_write_settings()
Invalid get_string() identifier: 'configmaxbytes' or component 'assignment'. Perhaps you are missing $string['configmaxbytes'] = ''; in mod/assignment/lang/en/assignment.php?
  • line 293 of /lib/classes/string_manager_standard.php: call to debugging()
  • line 6896 of /lib/moodlelib.php: call to core_string_manager_standard->get_string()
  • line 14 of /mod/assignment/settings.php: call to get_string()
  • line 89 of /lib/classes/plugininfo/mod.php: call to include()
  • line 38 of /admin/settings/plugins.php: call to core\plugininfo\mod->load_settings()
  • line 6626 of /lib/adminlib.php: call to require()
  • line 6728 of /lib/adminlib.php: call to admin_get_root()
  • line 38 of /admin/settings.php: call to admin_write_settings()
Invalid get_string() identifier: 'itemstocount' or component 'assignment'. Perhaps you are missing $string['itemstocount'] = ''; in mod/assignment/lang/en/assignment.php?
  • line 293 of /lib/classes/string_manager_standard.php: call to debugging()
  • line 6896 of /lib/moodlelib.php: call to core_string_manager_standard->get_string()
  • line 19 of /mod/assignment/settings.php: call to get_string()
  • line 89 of /lib/classes/plugininfo/mod.php: call to include()
  • line 38 of /admin/settings/plugins.php: call to core\plugininfo\mod->load_settings()
  • line 6626 of /lib/adminlib.php: call to require()
  • line 6728 of /lib/adminlib.php: call to admin_get_root()
  • line 38 of /admin/settings.php: call to admin_write_settings()
Invalid get_string() identifier: 'configitemstocount' or component 'assignment'. Perhaps you are missing $string['configitemstocount'] = ''; in mod/assignment/lang/en/assignment.php?
  • line 293 of /lib/classes/string_manager_standard.php: call to debugging()
  • line 6896 of /lib/moodlelib.php: call to core_string_manager_standard->get_string()
  • line 20 of /mod/assignment/settings.php: call to get_string()
  • line 89 of /lib/classes/plugininfo/mod.php: call to include()
  • line 38 of /admin/settings/plugins.php: call to core\plugininfo\mod->load_settings()
  • line 6626 of /lib/adminlib.php: call to require()
  • line 6728 of /lib/adminlib.php: call to admin_get_root()
  • line 38 of /admin/settings.php: call to admin_write_settings()
Invalid get_string() identifier: 'showrecentsubmissions' or component 'assignment'. Perhaps you are missing $string['showrecentsubmissions'] = ''; in mod/assignment/lang/en/assignment.php?
  • line 293 of /lib/classes/string_manager_standard.php: call to debugging()
  • line 6896 of /lib/moodlelib.php: call to core_string_manager_standard->get_string()
  • line 22 of /mod/assignment/settings.php: call to get_string()
  • line 89 of /lib/classes/plugininfo/mod.php: call to include()
  • line 38 of /admin/settings/plugins.php: call to core\plugininfo\mod->load_settings()
  • line 6626 of /lib/adminlib.php: call to require()
  • line 6728 of /lib/adminlib.php: call to admin_get_root()
  • line 38 of /admin/settings.php: call to admin_write_settings()
Invalid get_string() identifier: 'configshowrecentsubmissions' or component 'assignment'. Perhaps you are missing $string['configshowrecentsubmissions'] = ''; in mod/assignment/lang/en/assignment.php?
  • line 293 of /lib/classes/string_manager_standard.php: call to debugging()
  • line 6896 of /lib/moodlelib.php: call to core_string_manager_standard->get_string()
  • line 23 of /mod/assignment/settings.php: call to get_string()
  • line 89 of /lib/classes/plugininfo/mod.php: call to include()
  • line 38 of /admin/settings/plugins.php: call to core\plugininfo\mod->load_settings()
  • line 6626 of /lib/adminlib.php: call to require()
  • line 6728 of /lib/adminlib.php: call to admin_get_root()
  • line 38 of /admin/settings.php: call to admin_write_settings()
Invalid get_string() identifier: 'maximumsize' or component 'assignment'. Perhaps you are missing $string['maximumsize'] = ''; in mod/assignment/lang/en/assignment.php?
  • line 293 of /lib/classes/string_manager_standard.php: call to debugging()
  • line 6896 of /lib/moodlelib.php: call to core_string_manager_standard->get_string()
  • line 13 of /mod/assignment/settings.php: call to get_string()
  • line 89 of /lib/classes/plugininfo/mod.php: call to include()
  • line 38 of /admin/settings/plugins.php: call to core\plugininfo\mod->load_settings()
  • line 6626 of /lib/adminlib.php: call to require()
  • line 51 of /admin/settings.php: call to admin_get_root()
Invalid get_string() identifier: 'configmaxbytes' or component 'assignment'. Perhaps you are missing $string['configmaxbytes'] = ''; in mod/assignment/lang/en/assignment.php?
  • line 293 of /lib/classes/string_manager_standard.php: call to debugging()
  • line 6896 of /lib/moodlelib.php: call to core_string_manager_standard->get_string()
  • line 14 of /mod/assignment/settings.php: call to get_string()
  • line 89 of /lib/classes/plugininfo/mod.php: call to include()
  • line 38 of /admin/settings/plugins.php: call to core\plugininfo\mod->load_settings()
  • line 6626 of /lib/adminlib.php: call to require()
  • line 51 of /admin/settings.php: call to admin_get_root()
Invalid get_string() identifier: 'itemstocount' or component 'assignment'. Perhaps you are missing $string['itemstocount'] = ''; in mod/assignment/lang/en/assignment.php?
  • line 293 of /lib/classes/string_manager_standard.php: call to debugging()
  • line 6896 of /lib/moodlelib.php: call to core_string_manager_standard->get_string()
  • line 19 of /mod/assignment/settings.php: call to get_string()
  • line 89 of /lib/classes/plugininfo/mod.php: call to include()
  • line 38 of /admin/settings/plugins.php: call to core\plugininfo\mod->load_settings()
  • line 6626 of /lib/adminlib.php: call to require()
  • line 51 of /admin/settings.php: call to admin_get_root()
Invalid get_string() identifier: 'configitemstocount' or component 'assignment'. Perhaps you are missing $string['configitemstocount'] = ''; in mod/assignment/lang/en/assignment.php?
  • line 293 of /lib/classes/string_manager_standard.php: call to debugging()
  • line 6896 of /lib/moodlelib.php: call to core_string_manager_standard->get_string()
  • line 20 of /mod/assignment/settings.php: call to get_string()
  • line 89 of /lib/classes/plugininfo/mod.php: call to include()
  • line 38 of /admin/settings/plugins.php: call to core\plugininfo\mod->load_settings()
  • line 6626 of /lib/adminlib.php: call to require()
  • line 51 of /admin/settings.php: call to admin_get_root()
Invalid get_string() identifier: 'showrecentsubmissions' or component 'assignment'. Perhaps you are missing $string['showrecentsubmissions'] = ''; in mod/assignment/lang/en/assignment.php?
  • line 293 of /lib/classes/string_manager_standard.php: call to debugging()
  • line 6896 of /lib/moodlelib.php: call to core_string_manager_standard->get_string()
  • line 22 of /mod/assignment/settings.php: call to get_string()
  • line 89 of /lib/classes/plugininfo/mod.php: call to include()
  • line 38 of /admin/settings/plugins.php: call to core\plugininfo\mod->load_settings()
  • line 6626 of /lib/adminlib.php: call to require()
  • line 51 of /admin/settings.php: call to admin_get_root()
Invalid get_string() identifier: 'configshowrecentsubmissions' or component 'assignment'. Perhaps you are missing $string['configshowrecentsubmissions'] = ''; in mod/assignment/lang/en/assignment.php?
  • line 293 of /lib/classes/string_manager_standard.php: call to debugging()
  • line 6896 of /lib/moodlelib.php: call to core_string_manager_standard->get_string()
  • line 23 of /mod/assignment/settings.php: call to get_string()
  • line 89 of /lib/classes/plugininfo/mod.php: call to include()
  • line 38 of /admin/settings/plugins.php: call to core\plugininfo\mod->load_settings()
  • line 6626 of /lib/adminlib.php: call to require()
  • line 51 of /admin/settings.php: call to admin_get_root()
In riposta a Annalisa Panesi

Re: Errore database corso

di Matteo Scaramuccia -

Ciao Annalisa,
hai già controllato che nella cartella mod/assignment/lang/en sul tuo server sia presente il file di localizzazione assignment.php?
Dopo averlo (ri)copiato fai una Purge all caches per ricaricarlo.

Ti consiglio di controllare la presenza di tutti i files sul server perché potresti non averne trasferiti altri.

HTH,
Matteo

In riposta a Matteo Scaramuccia

Re: Errore database corso

di Annalisa Panesi -

Ciao Matteo,

dici che è un problema di cambio tema?

Il file c'è, ho provato a ricopiarlo ma non me lo permette.

Questo è il testo dei componenti del file assignment.php:

Ciao Matteo,

dici che è un problema di cambio tema?

Il file c'è, ho provato a ricopiarlo ma non me lo permette.

Questo è il testo dei componenti del file assignment.php:

$string['assignment:addinstance'] = 'Add a new assignment';

$string['assignment:exportownsubmission'] = 'Export own submission';

$string['assignment:exportsubmission'] = 'Export submission';

$string['assignment:grade'] = 'Grade assignment';

$string['assignment:submit'] = 'Submit assignment';

$string['assignment:view'] = 'View assignment';

$string['assignmentneedsupgrade'] = 'The legacy "Assignment 2.2" activity has been disabled. Please request that your site administrator runs the assignment upgrade tool for all legacy assignments in this site.';

$string['messageprovider:assignment_updates'] = 'Assignment (2.2) notifications';

$string['assignmentdisabled'] = 'The legacy "Assignment 2.2" activity is disabled.';

$string['modulename'] = 'Assignment 2.2 (Disabled)';

$string['modulename_help'] = 'Legacy activity module that has been removed from Moodle.';

$string['modulenameplural'] = 'Assignments 2.2 (Disabled)';

$string['page-mod-assignment-x'] = 'Any assignment module page';

$string['page-mod-assignment-view'] = 'Assignment module main page';

$string['page-mod-assignment-submissions'] = 'Assignment module submission page';

$string['pluginname'] = 'Assignment 2.2 (Disabled)';

$string['upgradenotification'] = 'This activity is based on an older assignment module.';

$string['viewassignmentupgradetool'] = 'View the assignment upgrade tool';

$string['pendingupgrades_message_small'] = 'This plugin has been disabled. All remaining assignments must be upgraded to the new assignment module using the assignment upgrade tool.';

$string['pendingupgrades_message_subject'] = 'Important information regarding Assignment 2.2';

$string['pendingupgrades_message_content'] = 'As part of the upgrade to Moodle 2.7, the legacy Assignment 2.2 activity has been disabled. Backups from the legacy Assignment 2.2 activity will seamlessly restore to the newer Assignment activity. All remaining instances of the legacy Assignment 2.2 activity must be upgraded using the assignment upgrade tool {$a->docsurl}. There are {$a->count} instances of the legacy Assignment 2.2 activity on this site that require upgrading. Users will not be able to access the content of these activities until they have been upgraded.';

$string['pluginadministration'] = 'Assignment 2.2 (Disabled) administration';


Grazie

In riposta a Annalisa Panesi

Re: Errore database corso

di Matteo Scaramuccia -

Ciao Annalisa,
dunque sicuramente il cambio tema può aver scatenato il problema ma non ne è certo la causa: infatti un cambio tema prevede la ricostruzione di una serie di cache a partire dai CSS e JS ed altro quindi si senz'altro può dipendere da quello ed il fatto che il file che supponevo mancante invece sia presente me lo conferma.

La causa però sta altrove: il fatto che tu non riesca a cambiare il file è sintomatico secondo me di un problema di permessi sul file system della tua istanza. Supponendo che tu sia in hosting presso terzi e che manovri i files da remoto via FTP devi riuscire a sistemare i permessi in lettura e scrittura perché tu possa fare "il bello ed il cattivo tempo" con i tuoi file, soprattuto quelli nella cartella "wwwroot" di Moodle e che lo stesso possa fare Moodle sulla "dataroot"; lì deve poter leggere, scrivere, modificare e cancellare tutti i file presenti a partire da quelli della cache.

HTH,
Matteo

In riposta a Matteo Scaramuccia

Re: Errore database corso

di Annalisa Panesi -
Qualche consiglio su come fare?


Sono autodidatta in queste cose, ma alcune cose le devo ancora imparare!


Grazie mille per il supporto


Annalisa

In riposta a Annalisa Panesi

Re: Errore database corso

di Matteo Scaramuccia -

Ciao Annalisa,
come hai fatto a creare le cartelle per poi installare Moodle? Con un client FTP? Se si, la via più veloce è selezionare le due folder dove hai installato Moodle (es.: public_html) e dove hai detto di mettere i suoi files (es.: moodledata) e dargli i permessi 777 (Read, Write, eXecute), non la migliore configurazione dal punto di vista della sicurezza ma sicuramente la più efficace per sbloccarti il problema.

In seguito ti consiglio di leggere con attenzione https://docs.moodle.org/27/en/Security_recommendations#Most_secure.2Fparanoid_file_permissions  per capire come configurare al meglio i permessi a seconda che il tuo server sia dedicato o condiviso.

HTH,
Matteo

In riposta a Matteo Scaramuccia

Re: Errore database corso

di Annalisa Panesi -

Ciao


L'ho fatto tramite installazione dell'applicazione sul mio dominio (è un CSM hosting, su cui ho anche Wordpress), acquistato tramite Aziende Italia. Per questo non ho dovuto copiare, spostare o fare altro con i file di installazione.

Ho provato a dare tutti i permessi di accesso alla cartella e questo è quanto è venuto fuori quando provo ad andare sul corso:

Error reading from database
Debug info: Table 'moodle_e.block_recent_activity' doesn't exist
SELECT
cmid, MIN(action) AS minaction, MAX(action) AS maxaction, MAX(modname) AS modname
FROM block_recent_activity
WHERE timecreated > ? AND courseid = ?
GROUP BY cmid
ORDER BY MAX(timecreated) ASC
[array (
0 => 1410003900,
1 => '2',
)]
Error code: dmlreadexception
Stack trace:
  • line 443 of /lib/dml/moodle_database.php: dml_read_exception thrown
  • line 1014 of /lib/dml/mysqli_native_moodle_database.php: call to moodle_database->query_end()
  • line 148 of /blocks/recent_activity/block_recent_activity.php: call to mysqli_native_moodle_database->get_records_sql()
  • line 73 of /blocks/recent_activity/block_recent_activity.php: call to block_recent_activity->get_structural_changes()
  • line 294 of /blocks/moodleblock.class.php: call to block_recent_activity->get_content()
  • line 236 of /blocks/moodleblock.class.php: call to block_base->formatted_contents()
  • line 993 of /lib/blocklib.php: call to block_base->get_content_for_output()
  • line 1045 of /lib/blocklib.php: call to block_manager->create_block_contents()
  • line 353 of /lib/blocklib.php: call to block_manager->ensure_content_created()
  • line 29 of /theme/canvas/layout/general.php: call to block_manager->region_has_content()
  • line 877 of /lib/outputrenderers.php: call to include()
  • line 807 of /lib/outputrenderers.php: call to core_renderer->render_page_layout()
  • line 243 of /course/view.php: call to core_renderer->header()
In riposta a Annalisa Panesi

Re: Errore database corso

di Matteo Scaramuccia -

Ciao Annalisa,
se hai utilizzato una funzionalità del tuo hosting per installare Moodle dovresti chiedere direttamente a loro: quello che posso capire dagli errori che posti è che la tua istanza Moodle è installata male, in maniera non completa (permessi sui file e tabelle su database). Mi trovo molto in difficoltà ad aiutarti perché da come descrivi il caso temo che:

  1. l'instanza di Moodle preinstallata avesse già problemi;
  2. ogni tentativo di correggere o verificare le problematiche mostra altri problemi.

Personalmente, se non ci sono dati importanti, procederei a reinstallare Moodle quanto prima.

Matteo

In riposta a Matteo Scaramuccia

Re: Errore database corso

di Annalisa Panesi -
Ciao Matteo, 


 avevo già chiesto a loro il motivo del problema e mi avevano rimandato a "voi".


Ho reinstallato moodle alla versione più recente ma il problema è rimasto. A questo punto non so proprio dove sbattere la testa. 

In riposta a Annalisa Panesi

Re: Errore database corso

di Annalisa Panesi -

Ciao Matteo,


credo di aver risolto. Ho reinstallato una versione precedente di Moodle dato che sono andata a controllare la versione php richiesta per l'ultima e la mia era più vecchia.

Ora il problema sembra risolto. Vedremo...


Intanto grazie a chi mi ha supportata!


Annalisa