Chyba při importu češtiny
Ahoj,
snažím se rozjet češtinu pro Drupal 7.7. Stáhnul jsem si modul Localization update, který by měl automaticky aktualizovat jazykový soubor. Bohužel vždy, když kliknu na tlačítko update translations a začne se importovat překlad, zobrazí se mi po pár minutách toto chybové hlášení:
Chyba při importu uživatelského rozhraní. Pokračujte na stránku s hlášením chyb
An AJAX HTTP error occurred. HTTP Result Code: 200 Debugging information follows. Path: /drupal7/batch?id=21&op=do StatusText: OK ResponseText: Fatal error: Maximum execution time of 240 seconds exceeded in D:\www\drupal7\includes\database\database.inc on line 2108
Po dobu instalace se mi zobrazuje pouze text „Downloading and importing files“ a progress bar se nehýbe. V .htaccess mám pro jistotu nastaveno php_value max_execution_time 1000 a v php.ini tentýž parametr. Nicméně to bere pořád maximum 240 sekund a přibližně i tak dlouho trvá běh importu. PHP INFO zobrazuje max execution time 1000 přesně tak, jak jsem ho nastavil.
Díky této chybě se mi nechce importovat zbytek češtiny. Momentálně je stav překladu 2972/4223 (70.38%).
Můžete mi někdo poradit jak se vyhnout této chybě? Přes Google jsem nenašel žádné funkční řešení.
Děkuji
Tak jsem se po dalším hledání
Tak jsem se po dalším hledání dopracoval k řešení. Musel jsem upravit soubor l10n_update.locale.inc, přesněji řádek 27, kde se nastavuje běh skriptu na 240 sekund → drupal_set_time_limit(240);. Stačí přepsat na drupal_set_time_limit(0); pro neomezený čas.
Povedal by som, že modul
Povedal by som, že modul Localization update by mal slúžiť skôr len na aktualizácie, ale pri prvej inštalácii by sa malo postupovať podľa návodu na drupal.org , alebo ak už je drupal nainštalovaný môžete naimpotrovať súbor .po (ktorý stiahnete z localize.drupal.org ) cez import jazykov (admin/config/regional/translate/import)
On stav překlad 70 % není
On stav překlad 70 % není zase až tak špatný a nereálný. Drupal myslím není 100% přeložený.
crash: chyba kterou
crash: chyba kterou popisujete se již delší dobu řeší na drupal.org… doporučuji nastavit exec_time na 300 sekund pouze při úvodním načtení překladů, poté zpět na původní hodnotu
frankye: to není pravda, prvotní nahrání překladů pomocí l10n_update je také správný postup
Potom ale nejsou přeložený
Potom ale nejsou přeložený například základní typy obsahu. Podle mě je nejlepší vytvořit si svůj instalační profil.
Z tohoto fakt rostu
Z téhle chyby opravdu rostu, a že to je chyba obrovská. Jak někdo může psát kód tímto style opravdu nerozumím. Nicméně po dvou dnech trápení a hledání všude možně jsem zjistil, že je to pravděpodobně chyba způsobu jakým drupal pracuje s MySQL v případě importu pŘekladů, potažmo jak se v tomto módu chová MySQL. Definitivně mi pomohlo nastavení (dočasné) parametru innodb_flush_log_at_trx_commit (nastavení MySQL serveru) na hodnotu 2. Defaultně je tato hodnota 1. Více se dočtete v dokumentaci MySQL.
Kdyby toto někomu nepomohlo automaticky, tak vězte, že tím, že jsem zkusil vše, tak jsem si zvýšil také limity paměti a timeouts na straně serveru a PHP, dále jsem dělal importu překladu pomocí modulu I10n_update. Věřím ale, že výše uvedené by mělo situaci vyřešit samo o sobě.
Pokud Vám na hostingu nepovolí změnu této hodnoty, tak doporučuji provedení změn na lokále a poté nahrání zpět na server manuálně (tedy kód i DB).
Opravdu nechápu, že toto ještě nikdo sakra nevyřešil, přitom se to táhne více než rok a půl (dle vyhledávání na Google)
Poslat nový komentář