PHP:n uusin versio 7.2. on nyt saatavilla 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 logo](https://seravo.com/wp-content/uploads/2017/12/php-med-trans.png)
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.
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.
Vastaa