{"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

Internal server error 500<\/h2>\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

B\u00edl\u00e1 obrazovka – WordPress obrazovka smrti<\/h2>\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

Str\u00e1nka kon\u010d\u00ed chybov\u00fdm hl\u00e1\u0161en\u00edm v polovin\u011b<\/h2>\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

Str\u00e1nka se zobraz\u00ed, ale je v n\u00ed vyps\u00e1na divn\u00e1 chyba<\/h2>\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

Str\u00e1nka se zobraz\u00ed, ale nefunguje slider, nejde ote\u0159\u00edt obr\u00e1zek v lightboxu<\/h2>\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

Pokladna ve WooCommerce nereaguje<\/h2>\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

Jak zobrazit chybov\u00e9 hl\u00e1\u0161en\u00ed a ur\u010dit o jakou chybu se jedn\u00e1<\/h2>\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

define( 'WP_DEBUG', false );<\/pre>\n

Ten ur\u010duje, \u017ee se nebudou zobrazovat chyby. P\u0159epi\u0161te jej na:<\/p>\n

define( 'WP_DEBUG', true );<\/pre>\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

Fatal Error<\/h2>\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

Notice – warning<\/h2>\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

Jak z\u00edskat chybov\u00fd v\u00fdpis WordPressu na funguj\u00edc\u00edm webu<\/h2>\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

    \n
  1. Povol\u00edme debugov\u00e1n\u00ed chyb –\u00a0define( ‚WP_DEBUG‘, true );<\/li>\n
  2. Povol\u00edme jejich zapisov\u00e1n\u00ed do souboru –\u00a0define( ‚WP_DEBUG_LOG‘, true );<\/li>\n
  3. Zak\u00e1\u017eeme jejich v\u00fdpis na webov\u00e9 str\u00e1nce –\u00a0define( ‚WP_DEBUG_DISPLAY‘, false );<\/li>\n<\/ol>\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

      \n
    1. Soubor je ve\u0159ejn\u011b p\u0159\u00edstupn\u00fd! Jakmile budete moci, zaka\u017ete ukl\u00e1d\u00e1n\u00ed do logu a soubor odstra\u0148te. Nebo jej alespo\u0148 ochra\u0148te pomoc\u00ed htaccess, co\u017e um\u00ed nap\u0159\u00edklad WordFence.<\/li>\n
    2. Pr\u00e9miv\u00e9 pluginy a \u0161ablony jsou pln\u00e9 zapomenut\u00fdch nedefinovan\u00fdch index\u016f a prom\u011bnn\u00fdch. Soubor m\u016f\u017ee za p\u00e1r dn\u00ed nabobtnat na n\u011bkolik giga. Tak\u017ee zru\u0161it ukl\u00e1d\u00e1n\u00ed, jakmile to bude mo\u017en\u00e9.<\/li>\n<\/ol>\n

      D\u00edky ukl\u00e1d\u00e1n\u00ed do logu, jste schopni zjistit PHP chyby ve funkc\u00edch, volan\u00fdch pomoc\u00ed AJAXu<\/h2>\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

      Javascriptov\u00e9 chyby<\/h2>\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>\n

      \"\"<\/a><\/p>\n

      Nefunk\u010dn\u00ed pokladna ve WooCommerce<\/h2>\n

      Zde si dovol\u00edm malou odbo\u010dku k WooCommerce. Pr\u00e1v\u011b konzole v Chrome, v kombinaci se zapnut\u00fdm debugem, v\u00e1m umo\u017en\u00ed detekovat chybu na pokladn\u011b. V\u011bt\u0161inou se jedn\u00e1 o chybu v n\u011bjak\u00e9m pluginu a pokladna se d\u00edky tomu na\u010d\u00edt\u00e1 a na\u010d\u00edt\u00e1 a na\u010d\u00edt\u00e1 a…<\/p>\n

      V konzoli na z\u00e1lo\u017ece network se zobrazuj\u00ed v\u0161echny requesty, jen\u017e str\u00e1nka ud\u011bl\u00e1. Pokud si konzoli otev\u0159ete je\u0161t\u011b p\u0159ed zobrazen\u00edm pokladny, nebo p\u0159ed kliknut\u00edm na objednat, uvid\u00edte na n\u011bkter\u00e9m ze \u0159\u00e1dk\u016f, PHP chybu, kterou vr\u00e1til AJAX. Pak u\u017e v\u00e1\u0161 program\u00e1tor probl\u00e9m vy\u0159e\u0161\u00ed.<\/p>\n

      \"\"<\/a><\/p>\n

      Zavr\u017een\u00e9 – deprecated funkce<\/h2>\n

      Na z\u00e1v\u011br tohoto \u010dl\u00e1nku se chci zm\u00ednit o zavr\u017een\u00fdch funkc\u00edch. Jedn\u00e1 se o funkce, jen\u017e ji\u017e nejsou doporu\u010deny k pou\u017e\u00edv\u00e1n\u00ed a v budoucnu mohou b\u00fdt odstran\u011bny.<\/p>\n

      Tento v\u00fdpis, nen\u00ed v\u00fdpisem n\u011bjak\u00e9 chyby, ale v\u00fdpisem funkce, nap\u0159\u00edklad z WooCommerce, jen\u017e upozor\u0148uje na to, \u017ee v k\u00f3du je pou\u017eita zavr\u017een\u00e1 funkce.<\/p>\n

      Vet\u0161inou je z\u00e1pis ve form\u00e1tu: Funkce empty_cart byla zavr\u017eena ji\u017e od verze 3.0. Pou\u017eijte rad\u011bji wc_empty_cart.<\/p>\n

      Budu se t\u011b\u0161it u dal\u0161\u00edho \u010dl\u00e1nku.<\/p>\n","protected":false},"excerpt":{"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. 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. Chybu ve WordPressu m\u016f\u017ee zp\u016fsobovat kde co Na to, aby jste ur\u010dili, v \u010dem<\/p>\n","protected":false},"author":1,"featured_media":4814,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[53,30,35],"tags":[113,140,202,482],"class_list":["post-4805","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-reseni-problemu","category-wordpress","category-wordpress-zacatecnici","tag-debug","tag-fatal-error","tag-internal-server-error-500","tag-wordpress-chyby"],"_links":{"self":[{"href":"https:\/\/affinite.io\/cs\/wp-json\/wp\/v2\/posts\/4805"}],"collection":[{"href":"https:\/\/affinite.io\/cs\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/affinite.io\/cs\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/affinite.io\/cs\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/affinite.io\/cs\/wp-json\/wp\/v2\/comments?post=4805"}],"version-history":[{"count":0,"href":"https:\/\/affinite.io\/cs\/wp-json\/wp\/v2\/posts\/4805\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/affinite.io\/cs\/wp-json\/wp\/v2\/media\/4814"}],"wp:attachment":[{"href":"https:\/\/affinite.io\/cs\/wp-json\/wp\/v2\/media?parent=4805"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/affinite.io\/cs\/wp-json\/wp\/v2\/categories?post=4805"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/affinite.io\/cs\/wp-json\/wp\/v2\/tags?post=4805"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}