Ciao Daniele,
OK ora ho capito - non ho fatto girare il codice - ma qui temo ci sia un "bug".
Al tempo, 1 Febbraio 2009, la modifica per MDL-17850 fu https://github.com/moodle/moodle/commit/cd3acbf27e111567437ca7f0964aec4082712113 e MDL-15249 aggiunse, 27 Maggio 2009, l'opzione via CLI proprio dopo pochi mesi da quella evolutiva, https://github.com/moodle/moodle/commit/3b596dbf0b3c0ba9bfe21b59bedae88238dfd306: secondo me temo non abbia mai funzionato come ti (ci si) aspetti per tutti quei parametri che si possono passare come argomento via CLI perché l'inizializzazione della configurazione, come la lingua, è cablata e al più aggiornata dagli argomenti e solo gli include potrebbero rivalutarla ma non viene fatto:
if (empty($databases)) {
$defaultdb = '';
} else {
reset($databases);
$defaultdb = key($databases);
}
// now get cli options
list($options, $unrecognized) = cli_get_params(
array(
'chmod' => isset($distro->directorypermissions) ? sprintf('%04o',$distro->directorypermissions) : '2777', // let distros set dir permissions
'lang' => $CFG->lang,
'wwwroot' => '',
'dataroot' => empty($distro->dataroot) ? str_replace('\\', '/', dirname(dirname(dirname(__DIR__))).'/moodledata'): $distro->dataroot, // initialised later after including libs or by distro
'dbtype' => empty($distro->dbtype) ? $defaultdb : $distro->dbtype, // let distro skip dbtype selection
'dbhost' => empty($distro->dbhost) ? 'localhost' : $distro->dbhost, // let distros set dbhost
'dbname' => 'moodle',
'dbuser' => empty($distro->dbuser) ? 'root' : $distro->dbuser, // let distros set dbuser
'dbpass' => '',
'dbport' => '',
'dbsocket' => '',
'prefix' => 'mdl_',
'fullname' => '',
'shortname' => '',
'summary' => '',
'adminuser' => 'admin',
'adminpass' => '',
'adminemail' => '',
'upgradekey' => '',
'non-interactive' => false,
'agree-license' => false,
'allow-unstable' => false,
'skip-database' => false,
'help' => false
),
Tutta la configurazione predefinita succede a posteriori, su DB, ricavandoli da admin_apply_default_settings(null, false); per cui manca quel pezzo di codice che rivaluta i default della CLI con i default finali desiderati che comunque saranno forzati nel momento del salvataggio della configurazione su DB.
Ci sarebbe poi da gestire ad esempio che non puoi scegliere un tipo di DB se non presente perché oggi questa funzionalità può "includere" configurazioni senza senso come scegliere un tipo di DB di cui non hai il driver.
Tra le altre c'è pure /install/distrolib.php, https://moodle.org/mod/forum/discuss.php?d=167115#p732909
.
Forse conviene segnalarlo sul Tracker: non dovrebbe essere complesso risolverlo solo che alle porte della 4.0 tutti saranno concetrati altrove
.
HTH,
Matteo