Peatükk 14 · 14.6
Vead pärast PHP uuendamist ja error log'i leidmine
Tõstsid PHP versiooni ja nüüd on su veebileht valge, näitab veateadet või üks osa ei tööta enam. See tuleneb peaaegu alati pluginast, teemast või enda koodist, mis ei sobi uue versiooniga. Ära muretse, saad vana versiooni minutiga tagasi panna ja siis rahulikult välja uurida, mis valesti on.
Samm 1: pane vana versioon tagasi
Mine jaotisse Select PHP version, vali uuesti versioon, mis sul enne oli, ja klõpsa Apply (vaata PHP-versiooni valimine (Select PHP version)). Su veebileht hakkab siis kohe uuesti tööle nagu varem. Kui muutsid uue versiooni juures laiendusi või seadeid, jäävad need alles järgmiseks katseks.
Samm 2: otsi veateade error log'ist
PHP kirjutab vead su domeeni error log'i. Seal on täpselt kirjas, milline fail ja milline rida probleemi põhjustab.
- Klõpsa DirectAdminis jaotises System Info & Files valikul Site summary & logs.
- Klõpsa oma domeeni juures valikul Error log.
- Vaata viimaseid ridu, kõige alt. Otsi ridu tekstiga PHP Fatal error, PHP Parse error või PHP Warning (1).

Logide kohta loe rohkem artiklist Site summary & logs: veateade ja juurdepääsulogi.
Samm 3: mõista veateadet
Teates on kirjas faili teekond. Sellest näed enamasti, milline plugin või teema on probleemi põhjustaja. Mõned näited:
| Teates on kirjas | Tähendus |
|---|---|
| .../wp-content/plugins/plugina-nimi/... | See plugin ei tööta uue versiooniga. Uuenda see või otsi asendus, kui seda enam ei hooldata. |
| .../wp-content/themes/teema-nimi/... | Su teema on liiga vana. Uuenda see või palu autorilt uuendust. |
| Call to undefined function mysql_connect() | Väga vana kood, mis kasutab veel PHP 7-eelseid funktsioone. See tuleb ümber kirjutada. |
| Call to undefined function koos mõne muu funktsiooni nimega | Sageli puudub laiendus. Vaata, milline laiendus selle funktsiooniga seotud on, ja lülita see sisse (vaata PHP laienduste sisse- ja väljalülitamine). |
| Allowed memory size of ... bytes exhausted | Skriptil jäi mälust puudu. Suurenda memory_limit väärtust (vaata PHP valikud: upload_max_filesize, memory_limit ja max_execution_time). |
| Maximum execution time of ... seconds exceeded | Skript töötas liiga kaua. Suurenda max_execution_time väärtust või uuri välja, miks see nii aeglane on. |
Samm 4: uuenda ja proovi uuesti
- Tee varukoopia (vaata Back-up ja taastamine: ise varukoopia tegemine DirectAdminis).
- Uuenda WordPress (või oma muu tarkvara), oma teema ja kõik pluginad, kui vana PHP versioon on veel aktiivne.
- Eemalda pluginad, mida sa ei kasuta.
- Lülita uus PHP versioon uuesti sisse ja testi oma veebilehte uuesti. Vaata ka uuesti error log'i.
Vihje: Kas tahad enne testida, ilma et külastajad seda märkaksid? Tee Installatroniga koopia oma saidist alamdomeenile (vaata Klooni oma veebileht ja loo testkeskkond (staging)) ja pane ainult see kaust uuele versioonile .htaccess faili abil (vaata PHP seaded kataloogi kaupa ja .htaccess abil).
Vigade ajutine kuvamine lehel
Näed ainult valget ekraani ja error log'is pole midagi kasulikku? Siis saad vead ajutiselt lehel endal kuvada. Mine Select PHP version alt vahelehele Options ja lülita sisse märkeruut display_errors. Ava leht uuesti: nüüd näed veateadet. Lülita display_errors kohe pärast seda uuesti välja, sest selline teade võib näidata su veebilehe kohta infot kõigile.
Kui kasutad WordPressi, saab seda teha ka nende ridadega failis wp-config.php, enne rida That's all, stop editing!: define('WP_DEBUG', true); ja define('WP_DEBUG_LOG', true);. WordPress kirjutab vead siis faili wp-content/debug.log. Eemalda need hiljem uuesti või pane väärtuseks false.
Soovid pigem, et me selle sinu eest lahendaksime?
Kui see ei õnnestu või su veebilehte pole aastaid uuendatud, teeme me PHP uuendamise teenusega su veebilehe sobivaks uue PHP versiooniga, kindla hinna eest. Kui see ei õnnestu, saad raha tagasi.
