Uusimpaan PHP-versioon siirtyminen

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.

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 WP-palvelussa. Listan WP-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?

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.0; .  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. Lisätietoa kehittäjädokumentaatiossamme.

Alla olevalla yhdellä komennolla saat halutessasi tehtyä kaiken yllä mainitun samalla kertaa

echo "set \$mode php8.0;" | tee /data/wordpress/nginx/php.conf && wp-restart-nginx

Vaihdoksen jälkeen on hyvä tarkistaa, että sivuston virhelokiin ei tule vaihdoksen johdosta uusia varoituksia. Tämänkin voit tarkistaa suoraan WordPressin hallintapaneelista.

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

PHP-versiovaihdoksen ohjeet kehittäjiä varten

Vastasiko tämä kysymykseesi? Kiitos palautteesta. Palautteen lähettämisessä oli ongelma. Yritä uudelleen myöhemmin.