Uusimpaan PHP-versioon siirtyminen

Uusin saatavilla oleva PHP-versio: 7.4

Lisätietoa blogissamme: https://wp-palvelu.fi/blogi/php-7-4-saatavilla-wp-palvelussa

---

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 versioon, vaan ainoastaan lisäosan päivittäminen uusimpaan versioon. Asiakaspalvelustamme voi kuitenkin kysellä vinkkejä digitoimistoista, jos korjausten tekeminen ilman apua ei onnistu.

Miksi kannattaa vaihtaa uusimpaan PHP-versioon?

PHP:n 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 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ökaly näyttää myös käytössä olevan PHP-version.

Komentoriviltä tehtävä muutos

Myös SSH:n 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: php7.4 in '/data/wordpress/nginx/php.conf'
Using php7.4
php7.4

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

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

echo "set \$mode php7.4;" | 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, ovatko sivustoni lisäosat 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

Alla tiedoksi PHP-projektin omat versiovaihdoksen ohjeet kehittäjiä varten:

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

Tarvitsetko apua? Yhteydenotto Yhteydenotto