Aktualizace moodlu z 2.6.11 na 2.9.1

Re: Aktualizace moodlu z 2.6.11 na 2.9.1

autor Robert Pecko -
Počet odpovědí: 2

Zkoušel jsem se podívat na tabulky, které potřebují změnu, z NTB. Stahnul PHP 5.6.12, namapoval jsem si disk X: s moodlem a spustil:

c:\php5.6.12>php.exe -f x:\moodle\admin\cli\mysql_compressed_rows.php -l
No syntax errors detected in x:\moodle\admin\cli\mysql_compressed_rows.php

Odpověď mne překvapila, neb instalace píše úplně něco jiného (pravý opak).

Zkusil jsem pak ještě změnit adresář (disk):

x:\moodle>c:\php5.6.12\php.exe admin\cli\mysql_compressed_rows.php -l
Fatal error: $CFG->dataroot is not configured properly, directory does not exist or is not accessible! Exiting.

Tady bych řekl, že jsem pokročil, skrit se evidentně snaží kouknout do konfiguráku a hledá adresář moodledata, který je na serveru na disku D:. Cestu mohu v konfiguráku upravit (např. na Y:, kam ho mohu namapovat ručně), ale nevím, zda se něco někam nezapisuje do databáze a tím bych to povrtal.

Jak se taková aktualizace řeší někne na hostingu, který je v XY datovém centru?

Co by se stalo, kdyby se převod tabulek neuskutečnil?

PS: Na Windows se argumenty liší:

--list -> -l

--fix -> -f



V odpovědi na Robert Pecko

Re: Aktualizace moodlu z 2.6.11 na 2.9.1

autor David Mudrák -
Obrázek: Moodle HQ Obrázek: Obzvláště nápomocní moodlisté Obrázek: Překladatelé Obrázek: Vývojáři

To No syntax errors detected se vypisuje proto, protože ten váš argument -l váš příkazový interpret považuje za argument pro php.exe a nikoliv pro ten spuštěný skript. Nevím jak to funguje ve Windows, v Linuxu (bash) by se tuším dalo za název toho skriptu -- aby se všechny ostatní argumenty považovaly za argumenty pro spuštěné PHP.

Ta druhá chyba ještě může být způsobena přístupovými právy, ale opět, o provozování Moodle na Windows toho moc nevím, takže tady nebudu moct pomoci.

V odpovědi na David Mudrák

Re: Aktualizace moodlu z 2.6.11 na 2.9.1

autor Robert Pecko -
Máte pravdu, chyba byla na mé straně. Mezi -- a list musí být mezera úsměv. Správně je tedy -- list , zatím co --list je chybně. Ale stále jsem se neposunul do cíle. Změnil jsem cestu v config.php na mnou namapovaný disk Y:. Adresář moodle data mám tedy dostupný z y:\moodledata.
V config.php je tedy úprava:
$CFG->dataroot  = 'y:\moodledata';
Po spuštění:
c:\php5.6.12>php.exe -f x:\moodle\admin\cli\mysql_compressed_rows.php -- list
Fatal error: $CFG->dataroot is not writable, admin has to fix directory permissions! Exiting.
Stejnou odpověď dostanu i když jedu podle návodu:
https://ttcshelbyville.wordpress.com/2015/04/19/mysql-antelope-and-barracuda-moodle/

c:\wamp\bin\php\php5.6.12>php x:\moodle\admin\cli\mysql_compressed_rows.php -l
Fatal error: $CFG->dataroot is not writable, admin has to fix directory permissions! Exiting.

Taky si myslíte, že PHP skript chce něco zapisovat do config.php?