Miten päivitetään WordPress-sivuston PHP-versio?
Tässä artikkelissa kerromme, miten vaihdat sivustosi käyttämään uusinta PHP-versiota. PHP on web-palvelimen puolella käytettävä ohjelmointikieli, jota käytetään usein nettisivujen luomisessa. WordPressin ydin sekä suurin osa lisäosista ja teemoista on rakennettu PHP:lla.
Mikäli testityökalu wp-php-compatibility-check
palauttaa virheitä, versiopäivitystä ei voida tehdä ennen kuin virheet on saatu korjattua tai on varmistuttu niiden olevan harmittomia.
Seravon kuukausimaksuun ei kuulu lisäosan tai teeman korjaaminen uusimpaan PHP-versiota varten, vaan ainoastaan lisäosan/teeman päivittäminen uusimpaan versioon. Asiakaspalvelustamme voi kuitenkin kysellä tukea ja ohjeita päivitykseen sekä vinkkejä digitoimistoista, mikäli PHP-päivityksessä kaivataan apua. Yleisiä esimerkkejä virheistä ovat vanhentuneet PHP-funktiot tai lisäosat, jotka eivät tue uusinta versiota (esim. Call to undefined function create_function()
). Päivittämällä tai korvaamalla ongelmalliset lisäosat/teemat ongelmat voidaan ratkaista.
Seravolla saatavilla olevat PHP-versiot
Oheisesta listasta selviää, mitkä PHP-versiot ovat Seravolla tuettuja, ja mitkä versiot poistuvat käytöstä. Vanhentuneiden, turvattomiksi todettujen PHP-versioiden käyttö ei ole mahdollista Seravon palvelussa. Listan palvelussa käytössä olevista ja käytöstä poistetuista PHP-versioista löydät täältä.
Miksi kannattaa vaihtaa uusimpaan PHP-versioon?
PHP-päivitykset sisältävät yleensä useita tietoturvaan ja nopeuteen liittyviä parannuksia. Onkin suositeltavaa, että uutta versiota siirrytään käyttämään heti kun mahdollista. WordPress-projektin omalla tukisivustolla kerrotaan vielä tarkemmin versiovaihdoksen hyödyistä.
Suuri muutos PHP-versioissa tapahtui esimerkiksi vuoden 2018 lopulla, kun laajalti käytetyn PHP 5.6:n tietoturvatuki päättyi. Seravon uusimmat blogikirjoitukset aiheesta löydät sivuiltamme avainsanalla "PHP". Poimimme blogiin muutoksista aina oleellisimmat asiat, jotta sinun ei tarvitse selvittää niitä itse.
Miten tarkistan ja vaihdan oman sivustoni PHP-version?
Huomio!
Suosittelemme ottamaan varmuuskopion sivustosta ennen PHP-päivitystä. Näin sivustosta voidaan palauttaa toimintaan mahdollisimman tuore versio, jos päivityksen aikana jotain meneekin pieleen eivätkä esimerkiksi saman päivän aikana tehdyt muut muutokset sivustolle katoa.
Tarvitsetko apua?
Jos tarvitset varmuuskopion palauttamisessa, voit olla yhteydessä Seravon asiakaspalveluun [email protected].
Sivuston palauttaminen varmuuskopiosta kuuluu palvelun hintaan, eikä siitä koidu mitään kuluja. Lisäksi varmista, että WordPressin ydin, teemat ja lisäosat on päivitetty uusimpiin versioihinsa ja testaa päivitykset varjoympäristössä välttääksesi mahdolliset riskit tuotannossa olevalla sivustolla.
WordPressin hallintapaneellista
Kirjautumalla WordPress-sivustosi hallintapaneeliin ja menemällä Työkalut-valikon alta kohtaan Ylläpito pääset vaihtamaan sivuston PHP-version haluamaksesi. Sama työkalu näyttää myös käytössä olevan PHP-version.
Komentoriviltä tehtävä muutos
Myös SSH-yhteyden ylitse ajettavalla komennolla wp-check-php-version
saat näkyviin tällä hetkellä käytössä olevan PHP-version. Mikäli käytössä on sellainen versio PHP:sta, jonka tuki on päättymässä, komento antaa myös varoituksen version tuen päättymisestä.
Viimeaikaisella PHP-versiolla komennon tuloste näyttää seuraavalta:
==> Check PHP backends:
Found PHP mode definition: php8.0 in '/data/wordpress/nginx/php.conf'
Using php8.0
php8.0
Vanhemmalla versiolla komennon tuloste taas näyttää seuraavalta:
==> Check PHP backends:
Found PHP mode definition: php5 in '/data/wordpress/nginx/php.conf'
Using php5
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! WARNING: PHP 5.6 is deprecated, security support has ended 31th December 2018!!
! !
! See <https://seravo.com/docs/configuration/php7-hhvm/> for more details. !
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
php5
Versio tulee vaihtaa tiedostossa /data/wordpress/nginx/php.conf
lisäämällä sinne rivi set $mode php8.4;
. Komennon versionumero tulee vaihtaa halutuksi versioksi. Tämän jälkeen sivuston nginx-palvelu tulee uudelleenkäynnistää komennolla wp-restart-nginx
, jotta tehty muutos tulee voimaan.
PHP-versiot
Lue lisää saatavilla olevista PHP-versioista täältä.
Alla olevalla yhdellä komennolla saat halutessasi tehtyä kaiken yllä mainitun samalla kertaa:
wp-php-set-version 8.4
Vaihdoksen jälkeen on hyvä tarkistaa, että sivuston virhelokiin ei tule vaihdoksen johdosta uusia varoituksia. Tämänkin voit tarkistaa suoraan WordPressin hallintapaneelista. Jos päivityksen jälkeen ilmenee ongelmia, varmista, että kaikki sivuston komponentit on päivitetty, ja harkitse siirtymistä takaisin aiempaan PHP-versioon väliaikaisesti.
Miten tarkistan, että sivustoni lisäosat ovat yhteensopivia uusimman PHP-version kanssa?
WordPressin hallintapaneelista
Yhteensopivuuden tarkastaminen tapahtuu samalla työkalulla millä vaihdat PHP-version. Kirjaudu sisään WordPressin hallintapaneeliin ja avaa Työkalut-valikon alta kohta Ylläpito, sieltä löydät Seravo Pluginin työkalun.
Komentoriviltä tehtävä tarkistus
Käytettyjen lisäosien yhteensopivuutta uusimman PHP:n kanssa voit tarkastella myös wp-php-compatibility-check
-komennon avulla, mikä kertoo PHP-koodissa olevat epäyhteensopivuudet uusimman PHP-version kanssa.
Testin tulokset tallentuvat lokiin tiedostoon /data/log/wp-php-compatibility.log
, ja lokitiedoston sisältä löydät esimerkiksi alla olevan kaltaisia varoituksia johonkin käyttämääsi lisäosaan liittyen:
FILE: /data/wordpress/htdocs/wp-content/plugins/stackable-ultimate-gutenberg-blocks/freemius/includes/class-freemius.php
----------------------------------------------------------------------------------------------------------------------------------
FOUND 0 ERRORS AND 2 WARNINGS AFFECTING 2 LINES
----------------------------------------------------------------------------------------------------------------------------------
18305 | WARNING | Since PHP 7.0, functions inspecting arguments, like func_get_args(), no longer report the original value as
| | passed to a parameter, but will instead provide the current value. The parameter "$tag" was used, and possibly
| | changed (by reference), on line 18303. 18462
| WARNING | Since PHP 7.0, functions inspecting arguments, like func_get_args(), no longer report the original value as
| | passed to a parameter, but will instead provide the current value. The parameter "$tag" was used, and possibly
| | changed (by reference), on line 18460.
----------------------------------------------------------------------------------------------------------------------------------
Komennolla wp-php-compatibility-check
voit tarkastella yksittäisen teeman yhteensopivuutta uusimman PHP-version kanssa:
wp-php-compatibility-check /data/wordpress/htdocs/wp-content/themes/twentytwenty
.............................. 30 / 30 (100%)
Time: 529ms; Memory: 14MB
Scan complete. Results are stored in the logfile /data/log/wp-php-compatibility.log
Komennolla pystytään tarkistamaan yhteensopivuus myös jonkin tietyn lisäosan kanssa:
wp-php-compatibility-check /data/wordpress/htdocs/wp-content/plugins/autodescription
............................................................ 60 / 114 (53%)
...................................................... 114 / 114 (100%)
Time: 3.86 secs; Memory: 18MB
Scan complete. Results are stored in the logfile /data/log/wp-php-compatibility.log
Lisäksi yhteensopivuutta voi tarkastella tietyn PHP-version osalta lisäämällä versionumeron komennon loppuun:
wp-php-compatibility-check /data/wordpress/htdocs/wp-content/themes/twentytwenty 7.4
.............................. 30 / 30 (100%)
Time: 530ms; Memory: 14MB
Scan complete. Results are stored in the logfile /data/log/wp-php-compatibility.log
Yhteensopivuusongelmien ratkaisemiseksi tietyissä PHP-versioissa, sivuston kehittäjien tulisi tehdä tarvittavat koodimuutokset (refaktorointi) tai lykätä vaihdosta, kunnes tarvittavat päivitykset ovat saatavilla.