Stručně: PHP je open-source skriptovací jazyk, který se používá především pro webové aplikace. Kód běží na serveru, vytváří tam HTML a prohlížeči posílá jen výsledek. Protože na PHP staví mnoho CMS, e-shopů a interních nástrojů, je verze PHP na serveru samostatným bezpečnostním faktorem, nezávislým na aktualizaci CMS.
Co je PHP? Definice jednoduchými slovy
Příručka PHP popisuje PHP jako rozšířený, open-source a univerzálně použitelný skriptovací jazyk, který se obzvlášť hodí pro vývoj webu a lze ho vkládat do HTML. Název je rekurzivní akronym, tedy zkratka, která obsahuje sama sebe: „PHP: Hypertext Preprocessor“.
Rozhodující rozdíl oproti JavaScriptu v prohlížeči: kód PHP se provádí na serveru. Návštěvník dostane jen hotový výsledek a zdrojový kód nevidí. Proto se PHP hodí pro vše, co musí zůstat důvěrné, například přístupy do databáze, přihlášení nebo výpočty cen.
Podle příručky má PHP dvě hlavní oblasti nasazení: skripty na straně serveru pro weby a skripty v příkazové řádce, například pravidelné úlohy přes cron. Obojí najdete téměř v každé firmě, která provozuje vlastní web, e-shop nebo zákaznický portál.
Kde se PHP ve vaší firmě skrývá?
PHP je viditelné jen zřídka. Skrývá se v softwaru, který znáte pod jiným jménem. Typické příklady:
- Redakční systémy (CMS) jako WordPress, TYPO3, Joomla, Drupal nebo Contao
- E-shopové systémy jako Shopware, WooCommerce, Magento nebo PrestaShop
- Interní služby jako Nextcloud, Moodle, MediaWiki nebo Matomo
- Individuální vývoj na základě frameworků jako Laravel nebo Symfony
- Webová rozhraní zařízení a hostingových panelů
Každá z těchto aplikací potřebuje nainstalované běhové prostředí PHP, tedy program, který kód PHP provádí. Toto prostředí je samostatný software s vlastními aktualizacemi. Aktualizace WordPressu nebo Shopwaru PHP neaktualizuje. Kdo provozuje které systémy, proto patří do inventáře, jak jej popisuje článek Inventář všech webů a serverů.
Jak vypadá kód PHP?
Kód PHP stojí mezi značkami <?php a ?>. Vše mimo ně se vypíše beze změny jako HTML. Malý, neškodný příklad:
<?php
$stunde = (int) date('G');
$gruss = $stunde < 12 ? 'Guten Morgen' : 'Guten Tag';
?>
<!DOCTYPE html>
<html lang="de">
<body>
<p><?= htmlspecialchars($gruss) ?>, heute ist der <?= date('d.m.Y') ?>.</p>
</body>
</html>
Server provede část v PHP a prohlížeči pošle jen hotové HTML, například „Guten Tag, heute ist der 25.10.2026“. Funkce htmlspecialchars() převádí speciální znaky a chrání tak před vloženým HTML. Takové vestavěné ochranné funkce jsou jedním z důvodů, proč může být pečlivě napsaný kód PHP bezpečný.
Z jakých součástí se skládá prostředí PHP?
Web v PHP se neskládá jen z kódu aplikace. Spolupracuje několik vrstev a každá potřebuje vlastní péči:
| Součást | Úloha | Kdo zpravidla aktualizuje? |
|---|---|---|
| Webový server (Apache, Nginx, LiteSpeed) | přijímá požadavky ze sítě | poskytovatel hostingu nebo správce serveru |
| Běhové prostředí PHP (interpret) | provádí kód PHP | poskytovatel hostingu, správce serveru, zdroj balíčků |
| Rozšíření | ovladače databází, zpracování obrázků, šifrování | spolu s běhovým prostředím PHP |
Konfigurace (php.ini) |
limity, výpis chyb, relace | správce serveru |
| Aplikace (CMS, e-shop) | obsah a obchodní logika | agentura nebo vlastní tým |
| Pluginy a knihovny | doplňkové funkce | agentura nebo vlastní tým |
Spojení mezi webovým serverem a PHP se nazývá SAPI (Server Application Programming Interface). To, zda PHP běží jako modul Apache, přes PHP-FPM nebo jako CGI, má dopady na provoz i bezpečnost. Více najdete v článcích SAPI vysvětleno a Jak PHP vytváří webovou stránku.
Proč je verze PHP důležitá pro bezpečnost
Každá verze PHP je udržována jen omezenou dobu. Podle php.net platí pro každou větev dva roky aktivní podpory a poté dva roky jen bezpečnostních oprav. Pak je větev na konci životnosti a oficiální aktualizace už nedostává. Podrobnosti najdete v článku Verze PHP a cyklus vydávání.
Jak je to důležité, ukazuje PHP2Shell. V říjnu 2026 se staly známými dvě kritické zranitelnosti v samotném PHP, CVE-2026-109618 a CVE-2026-109619, obě s CVSS v4.0 9,2. Umožňují vzdálené spuštění škodlivého kódu bez přihlášení. Opraveny jsou v PHP 8.5.12, 8.4.27, 8.3.36 a 8.2.35. Pro PHP 8.1 a starší už oficiální aktualizace neexistují.
Pro rozhodovatele z toho plynou tři body:
- Aktualizace CMS nezavře zranitelnost v PHP. Obojí je třeba aktualizovat zvlášť.
- Po aktualizaci PHP je nutné restartovat všechny procesy PHP, jinak v paměti dál běží starý kód.
- Záplata nedokazuje, že předtím nic nenastalo. U nechráněných serverů patří k postupu i kontrola stop.
Vyjasněte písemně, kdo u vás odpovídá za běhové prostředí PHP: poskytovatel hostingu, agentura, nebo vlastní IT. U PHP2Shell se ukázalo, že tato otázka zůstávala v mnoha firmách otevřená.
Co přesně je tato zranitelnost a koho se týká, vysvětluje stránka Co je PHP2Shell?.
Jak konkrétně pomáhá PHP SOS?
- Zmapovat stav: Zjistíme, které vaše systémy používají PHP, v jaké verzi a v jakém provozním režimu.
- Vyjasnit odpovědnost: Ukážeme, které části udržuje váš poskytovatel hostingu a které leží na vás nebo na vaší agentuře.
- Aktualizovat: Prostřednictvím služby PHP-Patch nasadíme aktualizace, restartujeme všechny procesy a zdokumentujeme stav.
- Zkontrolovat: Tam, kde byl server dostupný bez ochrany, hledáme stopy případného průniku.
Časté dotazy
Je PHP programovací jazyk, nebo jen skriptovací jazyk?
Platí obojí. PHP je plnohodnotný, univerzálně použitelný programovací jazyk s funkcemi, třídami a typy. Skriptovacím jazykem se označuje proto, že se zdrojový kód předem nepřekládá do spustitelného souboru, ale za běhu ho zpracovává interpret PHP.
Vidí návštěvníci mého webu kód PHP?
Ne. PHP běží na serveru a prohlížeč dostane jen výsledek, většinou HTML. Výjimky vznikají chybnou konfigurací, například když webový server vydává soubory PHP jako text nebo když jsou veřejně dostupné záložní kopie typu index.php.bak.
Jak poznám, že můj web běží na PHP?
Většina rozšířených CMS a e-shopových systémů, jako jsou WordPress, TYPO3, Shopware, Joomla nebo Nextcloud, je napsána v PHP. Jistotu získáte od poskytovatele hostingu, od agentury nebo nahlédnutím do konfigurace serveru.
Musím jako jednatel PHP rozumět?
Ne do detailu. Důležité je vědět, že PHP je samostatný software s vlastními aktualizacemi, oddělený od CMS. Kdo odpovídá za verzi PHP na vašich serverech, by mělo být vyjasněno písemně.