Autor | Zpráva | ||
---|---|---|---|
pk11 Profil |
#1 · Zasláno: 29. 12. 2018, 23:05:59
Zdravím, načítám v url adresu
.../wp-admin/admin.php?page=custompage , modul s názvem DataTables mi vyhodí DataTables warning: table id=priklad - Ajax error, v konzoli v Network zjišťuju, že je to admin-ajax.php , HTTP kód je 500. K error.log serveru přístup nemám, je to na hostingu. Po nějaké době na konzoli naskáčou u admin-ajax.php kódy 200, to dělá wp-auth-check ...
Můžete mi někdo poradit, kde mám pátrat? Díky! |
||
Tomášeek Profil |
#2 · Zasláno: 29. 12. 2018, 23:15:55
pk11:
500 je server error. Bez kodu tezko tipovat, kde muze byt chyba. |
||
Keeehi Profil |
Ano, nez chyby se dá jen těžko radit. Začal bych s Nejčastější potíže s PHP (FAQ) » Zapnutí výpisu všech chyb a varování
|
||
Kajman Profil |
#4 · Zasláno: 29. 12. 2018, 23:23:04
Požádejte hosting o error log.
|
||
pk11 Profil |
#5 · Zasláno: 30. 12. 2018, 01:05:35
Tomášeek, Keeehi, Kajman: všem třem děkuji za odpověď!
Tomášeek: Jaký "kód" přesně mám hledat? Ve kterých souborech? Keeehi: V logu wp-content/debug.log je toto: [30-Dec-2018 00:02:46 UTC] PHP Notice: Undefined index: post_type in /data/www/.../wp-content/themes/blank/functions.php on line 303 [30-Dec-2018 00:02:48 UTC] PHP Fatal error: Allowed memory size of 268435456 bytes exhausted (tried to allocate 82 bytes) in /data/www/.../wp-includes/meta.php on line 843 Kajman: Požádám. Děkuju. |
||
Tomášeek Profil |
#6 · Zasláno: 30. 12. 2018, 01:20:25
pk11:
„Jaký "kód" přesně mám hledat? Ve kterých souborech?“ Pravděpodobně v těch, kde nastává chyba :-) Logy serveru už nepotřebuješ, meta.php, řádek 843. Chybu hledej tam, proč ti přetéká paměť. Asi něco zacykleného. |
||
pk11 Profil |
#7 · Zasláno: 30. 12. 2018, 02:39:15
Tomášeek:
„Pravděpodobně v těch, kde nastává chyba :-)“ Chytrému napověz a ... a dál už to neumim :) Obsah meta.php na GitHub, tam je to ale řádek 946! Není to můj web. Dnes jsem ho viděl poprvé. Skript evidentně zpracovává data z tabulky wp-metadata, ta má 61009 řádků a values jsou z velké části serializované, jestli mi rozumíte: a:1:{s:5:"sizes";a:4:{s:9:"thumbnail";a:4:{s:4:"file";s:22:"ML1368-pdf-106x150.jpg";s:5:"width";i:10...
Nechá se už z tohoto usuzovat, že to způsobuje tu "pětistovku"? |
||
Keeehi Profil |
pk11:
„Nechá se už z tohoto usuzovat, že to způsobuje tu "pětistovku"?“ Nechá. Tedy zrovna v tomhle případě to spadlo tady. Což může být dané tím, že to načítá spoustu záznamů a z nich si pak vytváří v paměti pole. Problém však může být i v nějaké jiné části. Může se stát že nějaká jiné část aplikace je neefektivní a zabere třeba 250MB, což je těsně pod limitem a když aplikace dojde zrovna do této části a potřebovala by paměti jen trochu, už i to málo překročí limit a proto to spadne. Mělo by to jít ale celkem snadno ověřit. Za řádek 876 (tedy na začátek funkce) bych na zkoušku dal: echo "start: " . memory_get_usage() . "\n"; echo "end: " . memory_get_usage() . "\n"; Ta funkce update_meta_cache může být volaná vícekrát a takto zjistíš, kolik paměti pokaždé zabere. Z toho se pak dá usoudit, jestli za většinu obsazené paměti může tato funkce nebo něco jiného a tedy tato funkce není pravým viníkem. Je potřeba donutit aplikaci k zobrazení těch hodnot, i když pak následně spadne. Což by mělo jít právě tím zapnutím vypisování chybových hlášek. |
||
Časová prodleva: 5 let
|
0