Nacházíte se zde: Úvod Podpora Nápověda Migrace aplikací Přesun z PHP 4 na PHP 7.0
Přesun z PHP 4 na PHP 7.0
Na této stránce uvádíme popis technických rozdílů mezi PHP řady 4 a 7.0. Tyto informace Vám pomohou při přesunu aplikace z PHP 4 na PHP 7. Uvedené informace doplňují popis změn při přechodu na PHP řady 5.6.
DŮRAZNĚ VARUJEME: NEPOUŠTĚJTE SE SAMI DO ÚPRAV APLIKACÍ, POKUD NEJSTE PROGRAMÁTOR
PHP řada 7 navazuje na řadu 5 (řada 6 byla přeskočena), vyvíjena je od roku 2015. Přináší výkonnostní zlepšení a mnoho nových vlastností, na druhou stranu také vypouští některé dříve používané věci. Proto je zde třeba očekávat nutnost provedení více úprav, než u přesunu z PHP 4 na PHP 5.6.
Fungování aplikací přes interpret PHP 7.0 si můžete vyzkoušet již nyní na stávajícím serveru. Stačí na Vašem počítači nastavit ruční překlad adres podle návodu v nápovědě, použijte IP adresu 91.239.200.43
. Pokud budete provádět úpravy kódu, doporučujeme aplikaci zkopírovat, například na nějakou subdoménu (aby nedošlo k její nefunkčnosti v současné produkčním prostředí).
V případě zájmu si můžete přečíst hostingovou zprávu o plánovaném ukončení podpory PHP 4 na Českém hostingu.
Změny v PHP a webserveru
Základem jsou všechny rozdíly popsané v článku o přesunu na PHP 5.6. K tomu jsou ještě další změny dokumentované vývojáři v průvodci migrace z PHP 5.6 na PHP 7.0. Následně upozorníme na věci, které by mohlo být potřeba v aplikacích nejčastěji zohlednit.
-
Zrušení rozšíření mysql
K MySQL resp. MariaDB databázím je možné se připojovat s využitím funkcí několika PHP rozšíření. To nejstarší, rozšíření mysql, už v PHP řady 7 není dostupné. Řešením je nahradit příslušné funkce funkcemi z jiných rozšíření – buď mysqli, nebo PDO. Případně můžete využít náš pomocný skript, který zajistí jednoduché fungování základních funkcí mysql_ i na PHP 7. -
Zrušení podpory POSIX regulárních výrazů (ereg)
Podpora POSIX regulárních výrazů a k nim náležejících funkcí (ereg() a příbuzné) byla z PHP 7 vypuštěna. Náhradou je použití PCRE regulárních výrazů a k nim příslušných funkcí (preg_match() a dalších). -
Změna výchozí hodnoty default_charset
Konfigurační direktivadefault_charset
měla dříve prázdnou výchozí hodnotu, nově má hodnotu UTF-8. Pokud Vaše aplikace pracuje v jiném kódování, můžete změnit tuto hodnotu funkcí ini_set(), nebo ovlivnit kódování výstupu posláním vhodné HTTP hlavičky (k tomu slouží funkce header()).
Změny v databázích
Na webserverech s PHP 7 nabízíme databázový systém MariaDB 10.1, který je plnohodnotnou (a skutečně otevřenou) náhradou MySQL. Oproti MySQL 5.5 (viz. informace na stránce o přechodu na PHP 5.6) není potřeba pro běžné používání řešit nějaké dodatečné změny.