FAQ / PHP

Přechod na novější verzi PHP bez výpadku

‹ PHP

Novější PHP je rychlejší a bezpečnější, ale starší kód na něm nemusí fungovat. Přechod zvládnete bez výpadku, když ho připravíte a nejdřív vyzkoušíte stranou od ostrého webu.

Postup

  1. Zazálohujte web: soubory přes FTP a databázi exportem, viz Import a export databáze v phpMyAdmin.
  2. Aktualizujte aplikaci: jádro systému, šablonu i všechny pluginy na nejnovější verze. U WordPressu viz Aktualizace a zálohování. U doplňků, které autor už nevyvíjí, hledejte náhradu.
  3. Vyzkoušejte kopii webu na subdoméně. Vytvořte subdoménu (Vytvoření subdomény), nahrajte tam kopii webu i databáze a nastavte pro ni novou verzi PHP.
  4. Projděte klíčové funkce: úvodní stranu, formuláře, přihlášení, košík a objednávku, administraci.
  5. Přepněte ostrý web, nejlépe mimo největší provoz, a znovu ho prohlédněte.
  6. Sledujte chyby ještě několik dní: Chyby PHP a ladění.
  7. Kdyby něco nešlo, vraťte předchozí verzi v administraci, viz Výběr verze PHP.

Co se v novějších verzích změnilo

Funkce mysql_*odstraněny v PHP 7. Nahrazují je rozšíření mysqli a PDO. Starý kód je potřeba přepsat.
create_function(), each()odstraněny v PHP 8.0.
Dynamické vlastnosti třídod PHP 8.2 zastaralé a hlásí upozornění „Deprecated“. Web funguje, ale kód by se měl opravit.
utf8_encode(), utf8_decode()zastaralé od PHP 8.2.
Přísnější kontroly typůod PHP 8.0 skončí fatální chybou i věci, které dřív prošly jen s varováním.

Hlášky Deprecated nejsou chyba

Upozornění Deprecated znamená, že kód používá něco, co zmizí v budoucí verzi. Web funguje dál. Na veřejném webu je ale nechcete zobrazovat návštěvníkům. Zobrazování chyb vypněte a hlášky si ukládejte do logu (viz Chyby PHP a ladění).

Když nemáte vývojáře

Pokud web provozuje starý systém, který nikdo nespravuje, zvažte jeho modernizaci. Starší verze PHP už nejsou k dispozici, a navíc s sebou nesou bezpečnostní riziko. Rádi vám poradíme, napište nám.

Pořád si nevíte rady?

Napište nám a společně to vyřešíme.

Kontaktovat podporu ›