5. modulis · 5.4
Mazāk ir vairāk: sakārtošana un konfliktu risināšana
5. modulis: Tēmas un spraudņi · Lasīšanas laiks: 9 minūtes
Mācību mērķis: Pēc šīs nodarbības Jūs varēsiet sakārtot spraudņus un pats atrast un novērst konfliktu vai baltu lapu.
Galvenie jēdzieni: deaktivizēšana pretstatā dzēšanai, neaktīvs kods, kritiska kļūda, atjaunošanas režīms (recovery mode), Vietnes veselība, problēmu risināšanas režīms, spraudņa mapes pārdēvēšana, WP_DEBUG, WP_DEBUG_LOG, debug.log, kļūdu žurnāls
Izslēgt nav tas pats, kas izmest
Sadaļā Spraudņi Jūs varat spraudni deaktivizēt vai dzēst. Atšķirība:
- Deaktivizēt: WordPress vairs neielādē spraudni. Taču faili paliek mapē
wp-content/plugins/un bieži vien joprojām ir tieši pieejami caur tīmekļa serveri. Ja kādā no šī spraudņa atsevišķajiem PHP failiem ir drošības caurums, tas tur joprojām ir. Uzlauzēji skenē zināmus neaizsargātus failus, nevis aktīvus spraudņus. - Dzēst: faili tiek noņemti. Daži spraudņi dzēšot sakārto arī savus iestatījumus un tabulas datubāzē; citi tos atstāj.
Ja Jūs vairs neizmantojat kādu spraudni, dzēsiet to. Deaktivizēšana ir domāta tikai īslaicīgi (meklējot problēmas cēloni). Tas pats attiecas uz tēmām (2.4. nodarbība).
Sakārtošana: pastāvīgs apaļš pārskats
Reizi ceturksnī (9.4. nodarbība) izejiet cauri saviem spraudņiem. Par katru spraudni pārbaudiet:
- Kam tas paredzēts? Ja neatceraties, noskaidrojiet. Bieži izrādās, ka spraudnis kādreiz instalēts vienam konkrētam nolūkam un pēc tam nekad nav noņemts.
- Vai tas joprojām tiek izmantots? Slaidrādes spraudnis, lai gan nekur nav slaidrādes, vai veidlapu spraudnis, lai gan Jūsu kontaktu lapā tiek izmantota cita veidlapa.
- Vai bez tā var iztikt? Vai to jau nodrošina WordPress, tēma vai cits spraudnis (5.3. nodarbība)?
- Vai tas joprojām tiek uzturēts? Kad pēdējo reizi atjaunināts, vai tas vēl ir pieejams spraudņu mapē?
Sakārtošanu vispirms veiciet testa vidē (staging) (8.3. nodarbība) vai vismaz izveidojiet rezerves kopiju, un dzēsiet spraudņus pa vienam, lai zinātu, kas sabojājās, ja kaut kas noietu greizi. Pievērsiet uzmanību īsajiem kodiem (shortcodes): ja dzēšat spraudni, kas nodrošināja [formulier id="2"], tad šis teksts pēc tam burtiski paliks redzams Jūsu lapā.
Ja kaut kas noiet greizi: kritiska kļūda
Pēc atjauninājuma, jauna spraudņa vai PHP jauninājuma Jūs pēkšņi redzat:
Jūsu vietnē ir radusies kritiska kļūda.vai pilnīgi baltu lapu. Tas nozīmē: PHP ir apstājies ar fatālu kļūdu, pirms lapa tika izveidota (1.2. nodarbība). Parasti tas notiek tāpēc, ka spraudnis vai tēma nesader ar kaut ko citu: citu spraudni, jaunu WordPress versiju vai PHP versiju.
Kopš WordPress 5.2 versijas WordPress tādā gadījumā dara divas lietas:
- nosūta e-pastu uz administratora adresi, norādot, kurš spraudnis vai kura tēma radīja kļūdu, un speciālu saiti;
- ar šo saiti Jūs varat pieteikties atjaunošanas režīmā (recovery mode): Panelis tad darbojas ar spraudni, kas izraisīja kļūdu, īslaicīgi izslēgtu, lai Jūs varētu to atjaunināt, aizstāt vai dzēst.
Tāpēc ir tik svarīgi, lai administratora adrese, ko Jūs lasāt, būtu aktīva (2.2. nodarbība).
Meklēšana pašu spēkiem: soļi
Ja e-pasts neienāk vai atjaunošanas režīms nestrādā? Lūk, kā Jūs to varat atrast pats.
1. Apskatiet kļūdu žurnālu
Kļūda gandrīz vienmēr ir atrodama tīmekļa servera vai PHP kļūdu žurnālā. DirectAdmin to var atrast Jūsu domēna žurnālu sadaļā. Meklējiet rindu ar PHP Fatal error un laiku, kad mēģinājāt piekļūt vietnei:
PHP Fatal error: Uncaught Error: Call to undefined function create_function()
in /home/gebruiker/domains/example.com/public_html/wp-content/plugins/oude-slider/slider.php:42Ceļš norāda, kurš ir vainīgais: šeit spraudnis mapē oude-slider. Pārējā rindas daļa paskaidro iemeslu (šeit: funkcija, kas ir noņemta PHP 8 versijā, 8.4. nodarbība).
2. Ieslēdziet debug žurnālu (nevis ekrāna paziņojumu)
Ja kļūdu žurnālā nav nekā noderīga, failā wp-config.php (virs rindas "stop met bewerken") iestatiet:
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );
@ini_set( 'display_errors', 0 );WordPress tad pierakstīs visas kļūdas failā wp-content/debug.log, nerādot tās apmeklētājiem. Nekad neatstājiet šo ieslēgtu ilgāk, nekā nepieciešams: debug.log atrodas mapē, ko tīmekļa serveris piedāvā publiski, un ikviens, kurš zina adresi, var to izlasīt. Tajā ir ceļi, dažkārt lietotājvārdi un cita informācija, kas palīdz uzlauzējam. Pēc meklēšanas atkal izslēdziet to un izdzēsiet debug.log. Vai arī ļaujiet WordPress rakstīt žurnāla failu ārpus tīmekļa mapes, norādot WP_DEBUG_LOG ceļu (piemēram, '/home/gebruiker/logs/wp-debug.log', ja Jūsu mitināšanas pakalpojumu sniedzējs to pieļauj). 7.4. nodarbībā Jūs pārbaudīsiet, vai debug.log nav publiski pieejams.
3. Spraudņa izslēgšana bez Paneļa
Ja nevarat piekļūt Panelim, izslēdziet aizdomīgo spraudni, pārdēvējot tā mapi, izmantojot File Manager vai SFTP:
wp-content/plugins/oude-slider wordt wp-content/plugins/oude-slider-uitTad WordPress vairs neatradīs spraudni un izslēgs to. Ja nezināt, kurš spraudnis ir vainīgais, pārdēvējiet visu mapi plugins par plugins-uit: visi spraudņi tiks izslēgti. Ja tad tīmekļa vietne darbojas, izveidojiet jaunu tukšu mapi plugins, pievienojiet spraudņus atpakaļ pa vienam un pēc katra pārbaudiet, vai kļūda atgriežas. Tas pats attiecas uz tēmu: pārdēvējiet aktīvās tēmas mapi, un WordPress pāries uz noklusējuma tēmu, ja tāda vēl ir pieejama (2.4. nodarbība).
4. Konflikti bez fatālas kļūdas
Ne katra problēma ir kritiska kļūda. Dažkārt nedarbojas tikai viena funkcija: poga nereaģē, veidlapa nenosūtās, redaktors ielādējas tikai daļēji. Tad bieži vien tas ir konflikts starp diviem spraudņiem vai starp spraudni un tēmu. Šim nolūkam noder oficiālais spraudnis Health Check & Troubleshooting: problēmu risināšanas režīmā tas tikai Jūsu sesijai izslēdz visus spraudņus un pārslēdzas uz noklusējuma tēmu, kamēr apmeklētāji turpina redzēt parasto tīmekļa vietni. Pēc tam Jūs tos ieslēdzat pa vienam, līdz problēma atkārtojas.
Apskatiet arī pārlūkprogrammas konsoli (F12): JavaScript kļūdas bieži norāda failu, un līdz ar to arī spraudni.
Vietnes veselība
Sadaļā Rīki > Vietnes veselība WordPress pats pārbauda Jūsu tīmekļa vietni: novecojušu PHP versiju, neaktīvus spraudņus un tēmas, trūkstošus PHP paplašinājumus, REST API, kas nedarbojas, ieplānotus uzdevumus, kas atpaliek. Cilnē Info ir visi Jūsu instalācijas dati (versijas, ceļi, PHP iestatījumi). Šo cilni Jūs varat nokopēt un nosūtīt līdzi, ja lūdzat palīdzību. Pārbaudiet to pēc katras lielākas izmaiņas.
Kopsavilkums
- Deaktivizēšana atstāj failus; dzēsiet spraudņus un tēmas, ko neizmantojat.
- Sakārtojiet reizi ceturksnī, pa vienam spraudnim, ar rezerves kopiju vai testa vidē.
- Kritiskas kļūdas gadījumā WordPress nosūta e-pastu ar saiti uz atjaunošanas režīmu.
- Kļūdu žurnāls vai
debug.lognorāda vainīgā ceļu; pēc meklēšanas izslēdziet debug atkal, jo citādidebug.logir publiski pieejams. - Bez Paneļa Jūs izslēdzat spraudni, pārdēvējot tā mapi; konfliktus meklējiet ar problēmu risināšanas režīmu.
Tests
Uzdevums
Uzdevums A5.4: Vai Jūsu debug žurnāls nav publiski redzams? Ievadiet savas tīmekļa vietnes adresi un ar kodu, ko uzdevums Jums sniedz, pierādiet, ka tā ir Jūsu pašas vietne (TXT ieraksts vai neliels fails). Programma pieprasa /wp-content/debug.log: labi ir, ja tas neeksistē vai tiek atteikts (404 vai 403). Ja programma saņem failu atpakaļ, tas tiek atzīmēts sarkanā krāsā. Papildus programma saskaita, cik dažādas spraudņu mapes parādās Jūsu sākumlapas HTML kodā (tikai informatīvos nolūkos).
Uzdevums D5.4: Jūsu spraudņu saraksta sakārtošana. Izveidojiet sarakstu ar visiem saviem spraudņiem (aktīviem un neaktīviem): nosaukums, kam paredzēts, vai joprojām nepieciešams (jā/nē), alternatīva bez spraudņa. Dzēsiet (pēc rezerves kopijas izveides vai testa vidē) spraudņus, kas vairs nav vajadzīgi, pa vienam, un pēc katras dzēšanas pārbaudiet, vai tīmekļa vietne joprojām darbojas. Norādiet, cik spraudņu Jums bija un cik palicis, un atzīmējiet, vai palika kādi īsie kodi (shortcodes), kas bija jāsakārto.
Uzdevums D5.4: Jūsu spraudņu saraksta sakārtošana
Šo uzdevumu veicat paši; neviens to nepārbauda. Atzīmējiet, ko esat izdarījuši, un atzīmējiet uzdevumu kā paveiktu.
Skaits pēc ir mazāks vai vienāds, un katram spraudnim, kas paliek, ir norādīts iemesls. Neaktīvos spraudņus Jūs dzēšat: arī izslēgts kods var saturēt ievainojamību.
Jūsu atzīmes un piezīmes paliek tikai šajā pārlūkprogrammā; mēs tās nekur nesūtām. Ja esat pieteikušies, sadaļā Mani kursi saglabājam tikai to, ka uzdevums ir paveikts.
Papildu lasāmviela
Šie raksti apraksta soļus WebOké paneļos; citos paneļos process ir līdzīgs.
- DirectAdmin rokasgrāmata 18.1: Mana mājaslapa ir balta vai rāda kļūdu 500
- Kļūda 500 vai "kritiska kļūda" Jūsu tīmekļa vietnē (arī pēc WordPress atjaunināšanas)
- DirectAdmin rokasgrāmata 14.6: Kļūdas pēc PHP versijas jauninājuma un kļūdu žurnāla atrašana
- DirectAdmin rokasgrāmata 17.2: Site summary & logs: kļūdu žurnāls un piekļuves žurnāls
- Kā atkļūdot PHP, nemainot php.ini?
- Atkļūdošana WordPress (developer.wordpress.org, angļu valodā): https://developer.wordpress.org/advanced-administration/debug/debug-wordpress/
