14 skyrius · 14.6
Klaidos po PHP versijos atnaujinimo ir klaidų žurnalo radimas
Jūs padidinote PHP versiją ir dabar Jūsų svetainė rodo tuščią puslapį, klaidos pranešimą, arba kažkuri dalis nebeveikia. Tai beveik visada atsitinka dėl papildinio, šablono ar nuosavo kodo, kuris nėra pritaikytas naujai versijai. Nesijaudinkite: seną versiją galite grąžinti per minutę, o tada ramiai išsiaiškinsite, kas negerai.
1 žingsnis: grąžinkite seną versiją
Eikite į Select PHP version, pasirinkite vėl tą versiją, kurią turėjote anksčiau, ir spauskite Apply (žr. PHP versijos pasirinkimas (Select PHP version)). Jūsų svetainė tuoj pat vėl veiks kaip anksčiau. Jei prie naujos versijos koregavote plėtinius ar nustatymus, jie išliks išsaugoti kitam bandymui.
2 žingsnis: raskite klaidos pranešimą klaidų žurnale
PHP įrašo klaidas Jūsų domeno klaidų žurnale. Ten tiksliai nurodyta, kuris failas ir kuri eilutė sukelia problemą.
- DirectAdmin skiltyje Sistemos informacija ir failai spauskite Siteoverzicht & logboeken.
- Prie savo domeno spauskite Foutenlogboek.
- Pažiūrėkite į paskutines eilutes, apačioje. Ieškokite eilučių su PHP Fatal error, PHP Parse error arba PHP Warning (1).

Daugiau apie žurnalus skaitykite Svetainės apžvalga ir išrašai: klaidų žurnalas ir prieigos žurnalas.
3 žingsnis: suprato pranešimą
Pranešime nurodytas failo kelias. Pagal jį dažniausiai galite nustatyti, kuris papildinys ar šablonas yra kaltininkas. Keletas pavyzdžių:
| Pranešime matote | Reikšmė |
|---|---|
| .../wp-content/plugins/papildinio-pavadinimas/... | Tas papildinys neveikia su naująja versija. Atnaujinkite jį, arba ieškokite pakaitalo, jei jis nebeprižiūrimas. |
| .../wp-content/themes/šablono-pavadinimas/... | Jūsų šablonas yra per senas. Atnaujinkite jį, arba paprašykite kūrėjo atnaujinimo. |
| Call to undefined function mysql_connect() | Labai senas kodas, kuris dar naudoja funkcijas iš laikotarpio prieš PHP 7. Jį reikia perrašyti. |
| Call to undefined function su kitu funkcijos pavadinimu | Dažnai trūksta plėtinio. Pažiūrėkite, koks plėtinys priklauso tai funkcijai, ir jį įjunkite (žr. PHP plėtinių įjungimas ir išjungimas). |
| Allowed memory size of ... bytes exhausted | Skriptui trūksta atminties. Padidinkite memory_limit (žr. PHP parinktys: upload_max_filesize, memory_limit ir max_execution_time). |
| Maximum execution time of ... seconds exceeded | Skriptas vykdėsi per ilgai. Padidinkite max_execution_time, arba išsiaiškinkite, kodėl jis toks lėtas. |
4 žingsnis: atnaujinkite ir bandykite dar kartą
- Sukurkite atsarginę kopiją (žr. Atsarginės kopijos ir atstatymas: atsarginės kopijos kūrimas DirectAdmin savarankiškai).
- Atnaujinkite WordPress (ar kitą programinę įrangą), savo šabloną ir visus papildinius, kol dar aktyvi sena PHP versija.
- Pašalinkite papildinius, kurių nenaudojate.
- Vėl įjunkite naują PHP versiją ir iš naujo išbandykite savo svetainę. Taip pat dar kartą pažiūrėkite klaidų žurnale.
Patarimas: Norite pirmiausia išbandyti, kad lankytojai to nepajustų? Su Installatron sukurkite savo svetainės kopiją subdomene (žr. Klonavimas ir testavimo aplinkos (staging) kūrimas) ir tik tą aplanką perjunkite į naują versiją su .htaccess (žr. PHP nustatymai pagal aplanką ir per .htaccess).
Klaidų laikinas rodymas puslapyje
Matote tik tuščią ekraną ir klaidų žurnale nieko naudingo nėra? Tuomet galite laikinai rodyti klaidas pačiame puslapyje. Select PHP version skiltyje Options pažymėkite varnelę prie display_errors. Atidarykite puslapį iš naujo: dabar matysite klaidos pranešimą. Po to iškart vėl išjunkite display_errors, nes toks pranešimas gali atskleisti informaciją apie Jūsų svetainę visiems.
Jei naudojate WordPress, tai galima padaryti ir šiomis eilutėmis wp-config.php faile, virš eilutės That's all, stop editing!: define('WP_DEBUG', true); ir define('WP_DEBUG_LOG', true);. WordPress tada įrašys klaidas į wp-content/debug.log. Vėliau jas pašalinkite, arba nustatykite reikšmę false.
Norite, kad tai išspręstume už Jus?
Nepavyksta, arba Jūsų svetainė nebuvo atnaujinta jau metų metus? Su PHP atnaujinimo paslauga mes pritaikysime Jūsų svetainę aktualiai PHP versijai už fiksuotą kainą. Jei nepavyks, pinigus grąžinsime.
