PHP 7 Apache moodulis ja /usr/bin/env php
Antud blogipostitus on 93 kuud vana ning ei pruugi olla enam ajakohane.
Järgmisel teisipäeval ehk 17.05.2016 teeme virtuaalserverite seadistustes kaks PHP versiooniga seotud muudatust, vältimaks millegi katkiminekut ja asjatut debugeerimist väikest hulka kliente puudutav eelteavitus:
PHP Apache mooduli (SAPI) versioon muutub 5.6 > 7.0
Enamus virtuaalservereid kasutab PHPd vaikeseadeks olevas FastCGI režiimis ja endale meelepärase versiooniga, väike hulk on aga valinud PHP Apache mooduli (SAPI) kasutamise. Selles kasutatavat PHP-versiooni oleme uuendanud alati ca pool aastat pärast uue stabiilse versiooni ilmumist ning nüüd on käes hetk minna üle PHP 5.6 pealt PHP 7 peale.
SAPI kasutajatele läks e-postiga ka teavitus viidetega konkreetsetele serveritele, seega kui sa pole kirja saanud, siis ilmselt see muudatus sind otseselt ei puuduta – aga PHP versiooni tõstmine “nii uueks, kui soft kannatab” on mõistlik ka FastCGI kasutajatel. Põhidomeeni versiooni leiab Virtuaalserverite haldusest Veebiserver > Seaded alt, alamdomeenid sealt kõrvalt:
Neil, kellel on PHP režiimiks valitud Apache Module, tasuks aga veenduda oma veebirakenduste toimimises versiooniga 7.0. Seda saab teha näiteks vahetades testiks režiimi 7.0 FastCGI peale (selle jõustumine võtab ca 10 minutit aega). Kui peaks tekkima vajadus jääda kasutama PHP 5.6 FastCGI’d tasub arvestada erinevate failiõigustega – kõik Apache mooduli poolt lisatud pildid, cache jms on mõistagi loodud veebiserveri õigustes ja neile ei pääse kirjutamisõigustes ligi ei FastCGI režiimis kood ega kasutaja FTPga. Õiguste muutmist saab vajadusel küsida info@zone.ee
/usr/bin/env php viidatud versioon muutub 5.2 > 7.0
See on nüüd natuke piinlik – aga ajaloolistel põhjustel on mitmete skriptide poolt universaalseks PHP käivitamiseks kasutatav /usr/bin/env php jäänud viitama versioonile 5.2. Järgmisest teisipäevast ehk 17.05.2016 alates viitab see versioonile 7.0 – ja hakkab edaspidi viitama värskele versioonile sünkroonis SAPIga.
Olles vaadanud läbi serveriteülese grep’i tulemuse (algselt 18tuh rida) paistab, et 99,99% kasutuskohtadest on vabavaralised lahendused või raamistikud – mis eeldatavasti rõõmustavad normaalse versiooni üle. Kui mõni skript peaks siiski vajama vanemat versiooni võib seda kohandada andes ette värskeima sobiliku versiooni, näiteks nii:
/usr/bin/env php56-cli