Különböző tesztkörnyezetek és példányszámok

Az előző fejezetekben írtam arról, hogy néha egyszerre több verzióra lehet szükség webszerverből és/vagy php-ból, de ez ugyanúgy igaz lehet a mysql szerverre is. Más verziók, más hibák. És ezeket nem árt tesztelni, ha nem egy konkrét konfigurációra koncentrálva készül a program. De mikor és mit érdemes többszörözni?

PHP verziók

Leginkább a PHP verziója szokott érdekesebb lenni egy fejlesztés során. Bár a 2.2 és 2.4-es Apache között vannak különbségek, a nem kifejezetten az Apache speciális vagy akár saját magunk által gyártott moduljaira épülő alkalmazásoknál sokkal lényegesebb a PHP értelmező viselkedése.

Itt meg kell jegyeznem, hogy a PHP és az Apache együttműködésére két mód is létezik. Telepíthető modulként vagy valamilyen CGI megoldással is.

Modulként

Modulként egyszerre egy verziót lehet telepíteni, viszont gyorsabb. (Bővebben később)

CGI-ként

Ezzel a módszerrel több verziót is lehet egyszerre használni. Lassabb, de olykor jól jöhet, hogy a php.ini beállításait minden kéréskor újraolvassa. Így tesztelés közben nem kell újraindítani miatta a szervert. (Bővebben később)

Beépített webszerver

A PHP 5.4-es verziójába már beépítettek egy kis webszervert is. Így nem szükséges Apache -ot sem telepíteni azok tesztelésére, amik nem igénylik kimondottan az Apache létét. Erről egy korábbi cikkemben írtam: https://it-sziget/php-jelentosebb-valtozasai-napjainkig-kezdetektol-a-trait-ekig#n254-php54-server. Ebből is lehet több 5.4-es verziót használni. De erre ritkábban van szükség.

Apache szerverek száma

Az előző pontból kiderül, hogy ha több php verzióra is szükség van egyetlen Apache szerverrel, akkor csak a cgi jöhet szóba. De ha ezt el akarjuk kerülni, mert bizonyos szolgáltatások csak modulként telepítve működnek, akkor több Apache-ot kell telepíteni. Lehet különböző porton, így nem ütik egymást.

Be lehet állítani ugyanazt a DocumentRoot-ot is. Akkor a port átírásával gyorsan válthatunk a különböző php verziók között. Ha pedig a szervergépnek adunk két különböző IP címet is, akkor ugyanazon a porton, más virtuális hoszton, más domain-nel működhet a két verzió.

Igen ám, de hány webszerver fusson egyszerre? Mi van, ha több alverziót is kell tesztelni? Túl sok szervert egyszerre futtatni nem biztos, hogy érdemes. Persze nem feltétlenül kell egyszerre futniuk. Lehet indítani bármelyiket, ha éppen arra van szükség. De a telepítés is idő. Unalmas munka. Így én javaslom a lehetőleg egyetlen webszerver alá telepített több php futtatását CGI-ként. Esetleg a legfrissebb stabil verziót lehet modulként telepíteni. A virtuális hosztokon ezt ki lehet kapcsolni és betölteni a CGI verziókat.

Adatbázis

Adatbázisszerver verzióból is kellhet több különböző. Az alapértelmezett mysql port a 3306-os, de más portokon további mysql szerverek telepíthetők. Egy-két verziót bátran beüzemelnék. Mondjuk egy 5.1-eset és egy 5.5-öset. Akár többet is, de nem indítanám őket automatikusan. Csak amikor szükség van az egyikre.

(Virtuális) gépek száma

Akár virtuális, akár fizikai gépről van szó, én ezek számát is inkább minimumon tartanám. Nagyobb projekteknek lehet új gépet beüzemelni, de a kisebbek nem érnek annyi munkát és merevlemezt. Ez a megoldás azoknak lehet mégis jó, akik nem tudnak megbarátkozni a komponensek forrásból telepítésével, de helyük és memóriájuk az van bőven. Így pedig egy gépen egy apache egy PHP-val és MySQL-lel futhat. Akár a MySQL adatbázist lehet eltérő gépre is telepíteni. Ekkor viszont fejlesztéskor mindkettőnek futnia kell.

Megosztás/Mentés

Hozzászólások

Rimelek képe

Ennyi előismeret után már lehet kezdeni a felépítést. A következő téma a Virtuális gép létrehozása lesz. Előreláthatólag ez holnap este meg is jelenik. Garanciát nem vállalok, de törekszem rá.

Ha valakinek ezzel kapcsolatban is volna kívánsága, az még addig megírhatja nekem bármely csatornán. Facebook, e-mail, hozzászólás.