Svět Might and Magic

Komunitní fórum stránek Svět Might and Magic

  • Březen 29, 2024, 08:04:03
  • Vítejte, Host
Prosíme přihlašte se nebo zaregistrujte.

Přihlašte se svým uživatelským jménem a heslem.
Pokročilé vyhledávání -

Autor Téma: Přechod ze starších verzí PHP (5.3 -> 5.6 nebo 7.0)  (Přečteno 16507 krát)

Elemir

  • Administrator
  • Zasloužilý člen
  • *
  • Příspěvků: 7296
Přechod ze starších verzí PHP (5.3 -> 5.6 nebo 7.0)
« kdy: Březen 09, 2017, 08:27:56 »

Předpokládám, že včerejší výpadek sice nikdo moc nezaznamenal, ale přeci jen je na místě se k němu vyjádřit, protože to souvisí s trvanlivostí Elemir's Page obecně.

Předevčírem jsem od hostingu dostal email, v němž by rádi uvítali, kdybych přešel na vyšší verzi PHP, což není nic překvapivého. Doposud jsem aktivně využíval verzi 5.3.29, přičemž samotný počátek verze 5.3 se datuje ke konci roku 2009. Ostatně není se čemu divit, v roce 2006 jsem základní kostru webu smolil ještě ve verzi 4.4, takže při přechodu na verzi 5 jsem trochu trnul hrůzou, kolik z toho bude vůbec fungovat. Naštěstí se nepochroumalo nic a web mi v domácích podmínkách jede i na současných aktuálních subverzích verze 5.6, což je zároveň jedna z nabízených alternativ k verzi 5.3. Druhou je verze 7.0 a ta je důvodem dočasného pádu některých funkcionalit.

Obecně mě překvapilo, že web jako takový je i přes použití notně zastaralých technik ve verzi 7.0 funkční, ale zcela oprávněně jsem očekával problémy u věcí, které ke svému chodu využívají databázi - Kniha návštěv a Fórum. Dříve se tohle u MySQL řešilo trošičku jinak, pomocí knihovny libmysql a celý postup se zjednodušil s nástupem PHP 5. Plusem bylo, že obslužné funkce zůstaly stejné a řada z nás ignorovala nově nastupující standard v podobě MySQLi. A jak to u PHP 7.0 dopadlo je už asi každému jsné ;) Vyhrálo MySQLi. Změna se přitom avizovala dobrých "12 let dopředu", ale znáte to, jakmile vás nikdo netlačí, nemáte důvod cokoliv měnit.

Ono to bylo totiž trošičku složitější a 12 let je navíc na webu dlouhá doba. Tenkrát by si třeba nikdo nedokázal představit, že v komerční a hlavně nekomerční sféře bude na linuxovém hostingu cokoliv jiného než MySQL (Postgre se moc neuchytla). Stejně tak nikdo nečekal, jakých veletočů se MySQL dočká ohledně vývoje a vlastníků. Pokud si dobře pamatuju, funkcionalita MySQLi měla být odpovědí na podobné nejasnosti, jenomže jak jsem již zmínil, ještě v PHP 5.x bylo možné využívat původní obslužné funkce. Je to ve skutečnosti ohromná výhoda, protože to zajistilo kompatibilitu po velmi dlouhou dobu a ještě to hezkou řádku let poslouží, protože nástup PHP 7 nebude tak rychlý a to zejména právě kvůli ztrátě kompatibility. A upřímně, tuhle změnu asi nikdo moc nečekal, byť přeskočení verze 6 mohlo avizovat větší změny.

Přepsat Knihu návštěv by nejspíše problém nebyl, z pohledu programátora není přechod na lite-funkce velká změna, obzvláště u něčeho, co dobře zná ;), ale tvrdě jsem narazil u Fóra, kde je potřeba počkat na zásah vývojářů. I tým SMF tuhle situaci podcenil a na kompatibilní verzi fóra začal pracovat teprve minulý rok. V současné chvíli tedy není doporučeno verzi 2.1 nasazovat do ostrého provozu, což taky dělat nebudu. Nicméně do budoucna bude potřeba s PHP 7 pomalu počítat. Jak jsem již psal, zatím je to stále pro mnoho hostingů novinka a dobrých pár let potrvá, než na něj začnou ve velkém přecházet, ale jakmile se na něj přejde, bude mít mnoho webů problém. Ostatně samotného mě překvapilo, co se událo při pokusu otevřít fórum pod PHP 7 - stránka vesele zobrazila přihlašovací údaje k databázi  ???

V současné chvíli už běží Elemir's Page na PHP 5.6.30 a zatím to vypadá, že je vše funkční. Řeším tu akorát drobný problém se zálohou fóra, kterou se mi nedaří přenést k sobě na počítač. Obvykle bývají noční můrou až upgrade, ale někdy potrápí i přenos samotné konfigurace. U takhle velkých aplikací je potřeba s tím počítat, ale vidina možné ztráty dat je nepříjemná i tak :)
IP zaznamenána
This is the end ...