PHP 7.2 nyt saatavilla WP-palvelussa

PHP:n uusin versio 7.2. on nyt saatavilla Seravon WP-palvelussa. PHP on ohjelmointikieli jolla suurin osa WordPressistä on toteutettu, ja sen toimivuudesta WordPress on eniten riippuvainen. Tästä syystä kaikki WordPress-kehittäjät iloitsevat kun PHP:sta julkaistaan uusia parempia versioita.

PHP-projekti ilmoitti marraskuun lopussa että PHP 7.2 on julkaistu yleiseen käyttöön, ja WordPress-ytimen kehittäjät ilmoittivat joulukuun alussa, että WordPressin on sekä testattu toimivaksi PHP 7.2:n kanssa, että myös suosittelee kaikista PHP-versioista käytettäväksi mieluiten juuri 7.2:sta.

WP-palvelussa olemme koekäyttäneet PHP 7.2:sta jo ennen kuin se julkaistiin, ja nyt tuoneet sen asiakkaidemme saataville. Asiakkailla PHP 7.2 on käytettävissä sitä mukaa kun asiakkaidemme palvelinympäristöt päivittyvät lähiviikkojen aikana.

$ php7.2 -v
PHP 7.2.0-2+ubuntu14.04.1+deb.sury.org+2 (cli) (built: Dec 7 2017 21:22:58) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2017 Zend Technologies
 with Zend OPcache v7.2.0-2+ubuntu14.04.1+deb.sury.org+2, Copyright (c) 1999-2017, by Zend Technologies

Eikä siinä kaikki!

Samassa yhteydessä olemme myös lisänneet saatavilla olevien PHP-modulien määrää. Asiakkaidemme palautteen perusteella olemme tuoneet saatavilla mm. GeoIP, SSH, Intl ja FPDF -moduulit. Nämä ovat käytettävissä sivustoilla jotka käyttävät PHP 7.2:sta.

WP-palvelun PHP:n suorituskyky on optimoitu siten, että uusin PHP 7.2 on lisäosien kasvusta huolimatta noin 5% nopeampi kuin aiempi PHP 7.0.

PHP 7.2 parantaa suorituskykyä ja tietoturvaa

PHP 7.0 oli versioon 5.6 verrattuna merkittävästi nopeampi, joissakin mittauksissa jopa tuplasti nopeampi. PHP 7.1 ja PHP 7.2 ovat edelleen hieman nopeampia, mutta muutos on vain 5–10% luokkaa, joka sekin on varsinkin isossa verkkopalvelussa olennainen parannus.

PHP logo

Tietoturvaa on edistetty PHP 7.2.ssa (ja osittain jo PHP 7.1:ssa) poistamalla ohjelmointikielestä eval()-funktion vieläkin ilkeämpi serkku create_function(), HTTPS-yhteyksien asetuksia parenneltu muun muassa tiputtamalla vanhentuneet SSLv2-protokollan tuki pois ja vanhentunut PHP:n MCrypt-kirjasto on kokonaan poistettu uusi suositeltu tietoturvakirjasto on nimeltään Sodium.

Täydellinen muutosloki löytyy PHP.net-sivustolta. Kehittäjiä varten on olemassa erillinen PHP 7.2 siirtymäopas. WP-palvelussa kehittäjien tulee huomoida, että koska useimmat sivustot siirtyvät suoraan PHP 7.0:sta versioon 7.2, kannattaa lukaista myös väliversion PHP 7.1 siirtymäopas.

Siirtyminen PHP 7.2:n käyttöön on pääosin ongelmatonta ja WordPressin ydin tukee sitä täysin, mutta on aina mahdollisuus, että jokin vanha lisäosa sisältää jotakin koodia, joka ei toimi PHP 7.2:ssa kunnolla ja kehittäjien kannattaa tämän takia olla tarkana siirtymässä.

PHP 7.2:n käyttööotto WP-palvelussa

WP-palvelussa on aina panostettu suorituskykyyn, joita uudet PHP-versiot ovat tarjonneet, ja meillä oli nopeuden takia aiemmin myös HHVM tarjolla. Uuden PHP-version käyttöönotto tapahtuu samalla tavalla kuin aiemminkin PHP-versiomuutos, eli päivittämällä kansiossa /data/wordpress/nginx/ olevaa asetustiedostoa siten, että siellä lukisi:

set $mode php7.2;

Jos mitään tiedostoa ei ole entuudestaan, voi luoda uuden tiedoston vaikka nimeltä /data/wordpress/nginx/php.conf. Muutoksen jälkeen pitää ajaa wp-restart-nginx jotta asetukset tulee voimaan.
Lisätietoja löytyy Seravon WP-palvelun kehittäjädokumentaatiosta.

Uuden PHP-version käyttöönoton jälkeen kannattaa seurata erityisen tarkkaan mitä PHP-virhelokiin /data/log/php-error.log tulostuu. Emme WP-palvelussa pysty takaamaan, että kaikki maailman WordPress-lisäosat ja teemat toimisivat PHP 7.2:lla oikein. Uuskomme kuitenkin että kaikki aktiivisesti kehittyvät teemat ja lisäosat tukevat jo PHP 7.2:sta.

Muut PHP-versiot

Aiempi PHP 7.0 on edelleen saatavilla, kuten myös PHP 5.6. Näitä versioita saattaa tarvita sivustoilla joilla on jotain vanhaa koodia, joka on epäyhteensopivaa uusien PHP-versioiden kanssa.

Kaikkien asiakkaiden sivustoilla on itse asiassa taustalla kokoajan ajossa PHP 5.6 jonka kautta HTTP-pyynnöt tarjoillaan lennosta mikäli PHP 7.0/7.2 -prosessi kaatui yrittäessään vastata HTTP-pyyntöön. Tämä suojaa loppukäyttäjää mahdollisilta PHP-versioihin liittyviltä ongelmilta mutta toivottavaa olisi toki, että kaikilla sivustoilla olisi uusin PHP-versio käytössä aina ja kaikki koodi olisi edes sen verran ylläpidettyä, että ne PHP-koodi toimii uusimman PHP-version kanssa.

PHP 7.3 vuonna 2018 tai 2019

PHP-kehittäjät suunnittelevat julkaisevansa seuraavan version noin vuoden kuluttua. Koska WP-palvelussa on tänä syksynä uudistettu PHP-arkkitehtuuri, pystymme tuomaan seuraavan PHP-version asiakkaidemme käyttöön testattuna ja toimivana lähes heti kun PHP-projekti on julkaissut uuden version.