Skip to content

Trehány tárhelyszolgáltatók, ejnye…

    Mára más témával készültem, de a héten olyan tárhelyszolgáltatókba futottam bele, hogy a hátamon feláll a szőr, és közben vicsorgok. Nevezetesen arról van szó, hogy a meg nem nevezett tárhelyszolgáltatóknál (igen, több is van), még mindig elérhető, sőt alapértelmezett egy már nem támogatott PHP verzió.

    Tavaly év vége fele már futottam egy kört ez ügyben, amikor az egyik ügyfélnél telepítettem egy ártalmatlannak tűnő WordPress frissítést, és beborult tőle az oldal. Konkrétan semmi nem jött be, csak krix-krax. Elég gyorsan kiderült, hogy a tárhelyszolgáltatónál 5.4-es PHP szolgálta ki az oldalakat. Aztán a hét elején a WebShield szúrta ki egy frissítés után az egyik ügyfélnél, hogy nem minden kerek. Itt nem volt szemmel észrevehető probléma, de az egyik plugin döcögősen működött. Megnéztem: 5.4-es PHP-val futott az oldal. Tegnap ismét belefutottam egy hasonlóba. Új WebShield verzió, új védett oldal, de a központban nem látszik hogy kiépült volna a kapcsolat. Már rutinból nézem: 5.4-es PHP.

    Ha arra gondolok, hogy fél év alatt 3-4 ilyenbe futottam bele, az is gáz lenne. De hogy csak a héten két ilyen oldallal is találkozok… Erre nem találok szavakat…

    Miért gond ez?

    A PHP mint nyelv rengeteget fejlődik. Elég arra gondolnunk, hogy a 7.0-ás verzió milyen sebességbeli különbséget hozott a korábbi, 5.6-oshoz képest. A különbség szignifikáns. De a nagyobb probléma az, hogy az 5.4-es PHP terméktámogatása 2014-ben (!!!) megszűnt, és biztonsági frissítéseket is csak 2015 szeptember 3-ig kapott.

    A legfrissebb 5.4-es ben (5.4.45) pedig vannak ismert biztonsági rések, amit már soha, senki nem fog kijavítani! (lásd http://www.cvedetails.com/version/194835/PHP-PHP-5.4.45.html) A tárhelyszolgáltatóknak az ilyen régi verziókat le kellene takarítaniuk, hogy ne is legyen elérhető. Ha valakinek mégis ilyen ősi verzió kell, költöztessék egy külön vasra.

    Persze mondhatnánk, hogy ebből a felhasználók semmit nem vesznek észre, meg a tárhely felelőssége, stb, stb. De van itt még valami…

    Kompatibilitás

    Mivel a PHP (is) fejlődik, az 5.4-hez pedig érdemben kb 3 éve nem nyúltak hozzá, és nincs rá semmiféle támogatás, nem várható el a fejlesztőktől, hogy olyan kódot írjanak (plugint, sablont, stb), ami kompatibilis egy (elvileg) kihalt rendszerrel. Az 5.6, 7.0, 7.1-es verziók hoztak újításokat, amivel hatékonyabban, esetleg szebben lehet kódot írni. Ha valaki egyedi rendszert fejleszt, megadhatja, hogy neki mondjuk 7.0-ás PHP a minimum, amin futni fog. De a WP nem egyedi rendszer, itt az elvárás az, hogy az ÉLŐ PHP verziókkal fusson a rendszer. Ez mai napon minimum 5.6, de már ez is csak biztonsági frissítéseket kap, és 2018 végén végső búcsút veszünk tőle.

    Mi a teendő?

    Ha a tárhelyszolgáltatódnál van cPanel, vagy hasonló felület, akkor nézd meg hogy ki tudod-e választani, hogy milyen PHP verzió szolgálja ki az oldalaidat. Minimum 5.6-os legyen kiválasztva, de a WP gond nélkül fut már a 7-es PHP-val is. (feltéve ha elég friss a WordPress oldalad).

    Ha nincs ilyen opció, akkor tölts fel egy kis php fájlt a FTP-vel, amibe ennyi van írva:

    <?php
    echo phpversion();

     

    Töltsd fel mondjuk phpver.php néven, majd a http://<domainneved.hu>/phpver.php cím meglátogatásával megtudhatod, hogy milyen verzió szolgálja ki az oldalt.

    Ha kell, szólj a tárhelyszolgáltatódnak, hogy frissítsen, vagy legalább tegyen elérhetővél egy új verziót számodra!

    1 thought on “Trehány tárhelyszolgáltatók, ejnye…”

    1. Sajnos ez azért ebben a PHP-nak is van sara bőven.

      Egy tisztességesen felépített nyelvnél (figyelem, nem a nyelvet kritizálom, hanem a felépítését) létezik formális specifikáció, illetve a futtató környezet nem közvetlenül a kódot futtatja, hanem egy „metakódot”, vagyis hivatalos nyelvén assembly nyelvet. Ez egy olyan egyszerűsített utasításkészlet, amire az adott nyelvet le lehet fordítani, hasonlóan mint ahogy processzor utasításokra fordulnak a natív programok. Na és ezzel a közbenső réteggel elég sokáig lehet biztosítani úgy a kompatibilitást, hogy ezért az új funkciókat sem kell eldobni. Ennek köszönhető, hogy a JVM-ben ma már kismillió nyelv tud futni, sőt, át lehet adni hívásokat a nyelvek között is.

      Na éppen ezt vasalták ki a Hacklanges/HHVM-es fejlesztők. Létrehozták a hiányzó assembly nyelvet a HHVM-hez. Akit érdekel a téma, itt lehet bővebben utánaolvasni: http://hhvm.com/blog/6323/the-journey-of-a-thousand-bytecodes

    Vélemény, hozzászólás?

    Az e-mail címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük