{"id":4805,"date":"2017-12-02T07:00:58","date_gmt":"2017-12-02T07:00:58","guid":{"rendered":"https:\/\/musilda.cz\/?p=4805"},"modified":"2017-12-02T07:00:58","modified_gmt":"2017-12-02T07:00:58","slug":"zjistit-proc-wordpress-web-nefunguje","status":"publish","type":"post","link":"https:\/\/affinite.io\/cs\/zjistit-proc-wordpress-web-nefunguje\/","title":{"rendered":"Jak zjistit pro\u010d WordPress web nefunguje"},"content":{"rendered":"
Zobrazov\u00e1n\u00ed chyb ve WordPressu m\u016f\u017ee b\u00fdt pon\u011bkud matouc\u00ed a n\u011bkdy se d\u00edv\u00e1te je na b\u00edlou obrazovku, nebo chybu 500 – internal server error<\/a>. V lep\u0161\u00edm p\u0159\u00edpad\u011b se v\u00e1m str\u00e1nka vykresl\u00ed, ale je pln\u00e1 chybov\u00fdch v\u00fdpis\u016f, nebo kon\u010d\u00ed v polovin\u011b, pr\u00e1v\u011b chybou.<\/p>\n Chybu ve WordPressu m\u016f\u017ee zp\u016fsobovat kde co<\/p>\n Na to, aby jste ur\u010dili, v \u010dem je probl\u00e9m, mus\u00edte rozli\u0161it typ chyby a podle toho postupovat.<\/p>\n Tato chyba se zobraz\u00ed, pokud server z n\u011bjak\u00e9ho d\u016fvodu nen\u00ed schopen zpravovat po\u017eadavek. V\u011bt\u0161inou se jedn\u00e1 o probl\u00e9m v htaccess, nebo web p\u0159i na\u010d\u00edt\u00e1n\u00ed naraz\u00ed na nastaven\u00e9 limity PHP. P\u0159\u00edkladem limitu u PHP m\u016f\u017ee b\u00fdt limit doby vykon\u00e1v\u00e1n\u00ed scriptu, kdy t\u0159eba u n\u00e1ro\u010dn\u011bj\u0161\u00edch import\u016f, prost\u011b nestihne v limitu proces dob\u011bhnout.<\/p>\n O mo\u017en\u00fdch \u0159e\u0161en\u00edch chyby Internal server error 500 jsem psal ji\u017e d\u0159\u00edve.<\/a><\/p>\n Obrazovka smrti se pou\u017e\u00edv\u00e1 u Windows, kde m\u00e1 ale trochu jinou barvu, je modr\u00e1. Ve WordPressu se p\u0159i na\u010dten\u00ed webu, neobjev\u00ed v\u016fbec nic. Str\u00e1nka je \u010dist\u011b b\u00edl\u00e1 a nikde nic.<\/p>\n P\u0159\u00ed\u010dinou je fatal error v PHP. Jedn\u00e1 se o kritickou chybu ve scriptu, jen\u017e znemo\u017en\u00ed jeho dal\u0161\u00ed prov\u00e1d\u011bn\u00ed. Pokud vid\u00edte b\u00edlou obrazovku a ne v\u00fdpis chyby, m\u00e1te ve WordPressu vypnut\u00e9 zobrazov\u00e1n\u00ed chyb.<\/p>\n Nebo ve t\u0159etin\u011b, nebo je na str\u00e1nce jen to hl\u00e1\u0161en\u00ed. Jde o stejn\u00fd p\u0159\u00edpad, jako u b\u00edl\u00e9 obrazovky. V prov\u00e1d\u011bn\u00e9m scriptu je chyba a ta zamez\u00ed dal\u0161\u00edmu vykreslen\u00ed str\u00e1nky. A proto\u017ee to je chyba fat\u00e1n\u00ed, script se ukon\u010d\u00ed. V tomto p\u0159\u00edpad\u011b je zapnut\u00e9 zobrazov\u00e1n\u00ed chyb.<\/p>\n V tomto p\u0159\u00edpad\u011b se jedn\u00e1 o chybu ve scriptu, kdy se nejedn\u00e1 o chybu fat\u00e1ln\u00ed, nebr\u00e1n\u00ed p\u0159i pokra\u010dov\u00e1n\u00ed vykreslen\u00ed str\u00e1nky. Proto\u017ee m\u00e1te zapnut\u00e9 zobrazov\u00e1n\u00ed chyb, na str\u00e1nku se v m\u00edst\u011b chyby vyp\u00ed\u0161e warning<\/strong>.<\/p>\n Zde nejde o chybu PHP scriptu, ale o chybu v javascriptu. T\u00edm, \u017ee se zastav\u00ed prov\u00e1d\u011bn\u00ed javascriptov\u00fdch funkc\u00ed str\u00e1nky, na prvn\u00ed pohled m\u016f\u017ee str\u00e1nka p\u016fsobit norm\u00e1ln\u00edm dojmem, ale interaktivn\u00ed prvky, kter\u00e9 d\u0159\u00edve fungovaly, ji\u017e nereaguj\u00ed.<\/p>\n Zde trochu odbo\u010d\u00edm, proto\u017ee tento probl\u00e9m se net\u00fdk\u00e1 WordPressu v\u0161eobecn\u011b, ale jen WooCommerce. V p\u0159\u00edpad\u011b, \u017ee pokladna v eshopu nereaguje je „b\u00edl\u00e1“ a neust\u00e1le se to\u010d\u00ed kole\u010dko na\u010d\u00edt\u00e1n\u00ed, do\u0161lo k chyb\u011b v AJAX vol\u00e1n\u00ed. WooCommerce na pokladn\u011b vy\u017eaduje spr\u00e1vn\u011b form\u00e1tovanou odpov\u011bd AJAXu a pokud ji nedostane, nedojde ke spr\u00e1vn\u00e9 akci. P\u0159esto\u017ee se technicky jedn\u00e1 o javascriptov\u00fd probl\u00e9m, ve v\u011bt\u0161in\u011b p\u0159\u00edpad\u016f je na vin\u011b, n\u011bjak\u00e1 PHP chyba.<\/p>\n Toto je v\u011bt\u0161ina mo\u017en\u00fdch probl\u00e9m\u016f, jen\u017e v\u00e1\u017e mohou p\u0159i provozov\u00e1n\u00ed webu na WordPressu potkat. A\u010dkoliv nemus\u00edte b\u00fdt schopni chybu opravit a budete ps\u00e1t va\u0161emu webmasterovi, budete u muset \u0159\u00edci, kde je probl\u00e9m.<\/p>\n Ur\u010dit\u011b v\u00edte, \u017ee WordPres m\u00e1 configura\u010dn\u00ed soubor wp-config.php, jen\u017e se nach\u00e1z\u00ed v z\u00e1kladn\u00ed slo\u017ece instalace. Krom\u011b jin\u00e9ho ten soubor obshauje \u00fadaje pro p\u0159ipojen\u00ed k datab\u00e1zi a bez n\u011bj by WordPress v\u016fbec nefungoval.<\/p>\n Na jeho \u00fapravu budete pot\u0159ebovat FTP klienta a textov\u00fd editor. Textov\u00fd editor m\u016f\u017ee b\u00fdt nap\u0159\u00edklad Sublime<\/a>, nebo PsPad.<\/p>\n Po otev\u0159en\u00ed souboru v n\u011bm najdete tento z\u00e1pis:<\/p>\n Ten ur\u010duje, \u017ee se nebudou zobrazovat chyby. P\u0159epi\u0161te jej na:<\/p>\n T\u00edm se aktivuje zobrazov\u00e1n\u00ed chyb a pokud se v\u00e1\u0161 webmaster ptal, zda m\u00e1te zapnut\u00fd debug<\/strong>, myslel t\u00edm pr\u00e1v\u011b toto.<\/p>\n Nyn\u00ed si uk\u00e1\u017eeme, jak\u00e9 chyby se mohou zobrazit.<\/p>\n <\/a><\/p>\n Pro ty co si obr\u00e1zek nezv\u011bt\u0161ili, chyba za\u010d\u00edn\u00e1:\u00a0Fatal error<\/b>: Uncaught Error: Call to undefined function crall_dteg_k()<\/p>\n Tuto chybu jsem „vyrobil“ p\u0159\u00edmo pro v\u00e1s, konkr\u00e9tn\u011b se jedn\u00e1 o vol\u00e1n\u00ed funkce, jen\u017e neexistuje. Co\u017e se m\u016f\u017ee st\u00e1t, pokud m\u00e1te plugin, jen\u017e spol\u00e9h\u00e1 na funkce v jin\u00e9m pluginu a ten vy deaktivujete. Popis chyby m\u016f\u017ee b\u00fdt r\u016fzn\u00fd a v\u00e1\u0161 webmaster (nebo ten, komu p\u00ed\u0161ete o radu), pot\u0159ebuje p\u0159esn\u00e9 zn\u011bn\u00ed t\u00e9 chyby. Nic nezkaz\u00edte t\u00edm, \u017ee ji do emailu zkop\u00edrujete.<\/p>\n <\/a><\/p>\n Notice je typ chyby, jen\u017e nem\u00e1 kritick\u00fd vliv na prov\u00e1d\u011bn\u00ed PHP a str\u00e1nka se tak vykresl\u00ed, pouze v m\u00edst\u011b chyby se zobraz\u00ed upozorn\u011bn\u00ed. V tomto p\u0159\u00edpad\u011b to odkazuje na p\u0159om\u011bnnou $test, kter\u00e1 nen\u00ed definov\u00e1na. Jedn\u00e1 se o nej\u010dast\u011bj\u0161\u00ed typ chybov\u00e9ho hl\u00e1\u0161en\u00ed u WordPress web\u016f.<\/p>\n Rozd\u00edl mezi t\u011bmito dv\u011bma probl\u00e9my je, \u017ee kdy\u017e vypnete debugov\u00e1n\u00ed, v prvn\u00edm p\u0159\u00edpad\u011b str\u00e1nka nebude fungovat, v druh\u00e9m p\u0159\u00edpad\u011b ano.<\/p>\n Problematick\u00e9 m\u016f\u017ee b\u00fdt, pokud m\u00e1te web, jen\u017e mus\u00ed fungovat, ale z\u00e1rove\u0148 chcete opravovat probl\u00e9my.<\/p>\n Na\u0161t\u011bst\u00ed n\u00e1m pom\u016f\u017ee op\u011bt soubor wp-config.php.<\/p>\n Budeme postupovat n\u00e1sledovn\u011b:<\/strong><\/p>\n Tak\u017ee jsme schopni chybu detekovat, ale na str\u00e1nce to nad\u00e1le bude vypadat stejn\u011b. WordPress za\u010dne zapisovat chyby do souboru debug.log ve slo\u017ece wp-content.<\/p>\n <\/a><\/p>\n Pokud chcete m\u00edt dobr\u00e9 span\u00ed, ani se do souboru ned\u00edvejte.<\/p>\n Bude pln\u00fd podobn\u00fdch hl\u00e1\u0161en\u00ed:<\/p>\n <\/a><\/p>\n Va\u0161emu webmasterovi ale pom\u016f\u017ee p\u0159i detekci a odstra\u0148ov\u00e1n\u00ed chyb.<\/p>\n D\u016fle\u017eit\u00e9!<\/strong><\/p>\n Velmi mnoho \u0161ablon a plugin\u016f, pou\u017e\u00edv\u00e1 AJAX. Pomoc\u00ed n\u011bj, vol\u00e1 n\u011bjakou PHP funkci, jen\u017e se m\u00e1 prov\u00e9st. Pokud v n\u00ed je chyba, jen\u017e zabr\u00e1n\u00ed dal\u0161\u00edmu prov\u00e1d\u011bn\u00ed scriptu, vy nic nezjist\u00edte. Akce se prost\u011b neprovede. P\u0159i zapnut\u00e9m logov\u00e1n\u00ed se ale error ulo\u017e\u00ed do souboru, co\u017e v\u00e1m m\u016f\u017ee pomoci s detekc\u00ed probl\u00e9mu.<\/p>\n Chyby v Javascriptu se v\u011bt\u0161inou projevuj\u00ed tak, \u017ee na str\u00e1nce p\u0159estane fungovat n\u011bjak\u00fd interaktivn\u00ed prvek. Mohou b\u00fdt zp\u016fsoben\u00e9 syntaktickou chybou v k\u00f3du, ale b\u011b\u017en\u011bj\u0161\u00ed je probl\u00e9m s cache pluginy, pluginy pro minifikaci, nebo pro zrychlen\u00ed webu.<\/p>\n WordPres toti\u017e pou\u017e\u00edv\u00e1 jQuery knihovnu a pokud jej\u00ed na\u010d\u00edt\u00e1n\u00ed p\u0159esunuto do pati\u010dky, p\u0159esto m\u016f\u017ee b\u00fdt v t\u011ble str\u00e1nky vygenerov\u00e1n js vol\u00e1n\u00ed knihovny, jen\u017e je\u0161t\u011b nen\u00ed k dispozici.<\/p>\n Nebo m\u016f\u017ee minifika\u010dn\u00ed script zdeformovat z\u00e1pis tak, \u017ee jej prohl\u00ed\u017ee\u010d nen\u00ed schopen dek\u00f3dovat.<\/p>\n Nemus\u00ed se n\u00e1m to l\u00edbit, m\u016f\u017eeme s t\u00edm nesouhlasit, ale to je tak v\u0161e, co s t\u00edm m\u016f\u017eeme d\u011blat.<\/p>\n Pro ur\u010den\u00ed, zda je na str\u00e1nce js error, pou\u017e\u00edv\u00e1m konzoli v Chrome, kde po otev\u0159en\u00ed z\u00e1lo\u017eky Console, uvid\u00edte v\u00fdpis chyb (pokud ne, v\u0161e je v po\u0159\u00e1dku)-<\/p>\nInternal server error 500<\/h2>\n
B\u00edl\u00e1 obrazovka – WordPress obrazovka smrti<\/h2>\n
Str\u00e1nka kon\u010d\u00ed chybov\u00fdm hl\u00e1\u0161en\u00edm v polovin\u011b<\/h2>\n
Str\u00e1nka se zobraz\u00ed, ale je v n\u00ed vyps\u00e1na divn\u00e1 chyba<\/h2>\n
Str\u00e1nka se zobraz\u00ed, ale nefunguje slider, nejde ote\u0159\u00edt obr\u00e1zek v lightboxu<\/h2>\n
Pokladna ve WooCommerce nereaguje<\/h2>\n
Jak zobrazit chybov\u00e9 hl\u00e1\u0161en\u00ed a ur\u010dit o jakou chybu se jedn\u00e1<\/h2>\n
define( 'WP_DEBUG', false );<\/pre>\n
define( 'WP_DEBUG', true );<\/pre>\n
Fatal Error<\/h2>\n
Notice – warning<\/h2>\n
Jak z\u00edskat chybov\u00fd v\u00fdpis WordPressu na funguj\u00edc\u00edm webu<\/h2>\n
\n
\n
D\u00edky ukl\u00e1d\u00e1n\u00ed do logu, jste schopni zjistit PHP chyby ve funkc\u00edch, volan\u00fdch pomoc\u00ed AJAXu<\/h2>\n
Javascriptov\u00e9 chyby<\/h2>\n