Pre

V dnešním světě správy webových aplikací je rychlá a přesná diagnostika prostředí klíčová. Jedním z nejvýznamnějších nástrojů pro vývojáře a administrátory je php info, tedy výstup z funkce phpinfo(), který prezentuje detailní souhrn konfigurace PHP a jeho rozšíření. V tomto průvodci se podíváme na to, co php info obsahuje, jak jej bezpečně používat a jak z něj čerpat hodnotné informace pro ladění výkonu, kompatibility a bezpečnosti.

Co je php info a proč je důležité pro každého správce

php info, čili informace o PHP, je jedním z nejrychlejších způsobů, jak zjistit, jaké verze PHP, načtené moduly a konfigurační direktivy běží na vašem serveru. Obsahuje souhrnně:

  • Verzi PHP a dostupná SAPI (CLI, Apache, FPM atd.).
  • Seznam načtených rozšíření a jejich verze.
  • Hodnoty direktiv v souboru php.ini a jejich respektované hodnoty v runtime.
  • Informace o cestách k souborům a adresářům spojeným s PHP (include_path, open_basedir, apod.).
  • Konfiguraci načtených modulů a jejich specifické parametry.

Pro vývojáře a administrátory to znamená, že php info funguje jako jedinečný diagnostický bod: pomáhá rychle odhalit nesoulady mezi verzí PHP a požadavky aplikace, zkontrolovat, zda jsou zapnuté potřebné moduly (například JSON, openssl, mbstring) a zjistit, zda jsou nastavené bezpečné či optimální hodnoty konfiguračního souboru.

Jak funguje phpinfo() a co zobrazuje výstup PHP Info

phpinfo() je vestavěná PHP funkce, která vygeneruje HTML stránku popisující aktuální prostředí PHP. Výstup je strukturovaný do bloků, často s názvy modulů a sekcemi, jako jsou PHP Core, Apache Environment, Extensions, Directive Values a další. Každá sekce obsahuje klíčová data:

  • Verze PHP a verze načtených modulů.
  • Konfigurační direktivy a jejich aktuální hodnoty, například display_errors, memory_limit, max_execution_time a další.
  • Informace o zahrnutých rozšířeních (extensions) a jejich konkrétních parametrech.
  • Informace o cestách k souborům, zahrnující extension_dir, include_path a další cesty.

Prakticky lze říci, že každý výstup phpinfo() poskytuje kompletní „strojopis“ aktuálního stavu PHP na serveru. To je zvláště užitečné při řešení problémů s kompatibilitou knihoven, při odhalování konfliktů mezi verzemi modu a PHP, nebo při ověřování, zda je na serveru zapojená konkrétní bezpečnostní opatření (např. OpenSSL, Crypto, TLS verze).

Bezpečnost a etika používání php info

Zveřejněný výstup php info může obsahovat citlivé informace o konfiguraci serveru. Proto by měl být php info publikován pouze v bezpečném prostředí a veřejnost by ke kompletnímu výstupu neměla mít přístup na produkční server. Doporučené postupy:

  • Po zjištění potřebných informací rychle skrýt nebo odstranit phpinfo skript z veřejného adresáře.
  • Pokud je nutné sdílet informace s technickou podporou, použijte dočasný výstup (např. prostředí testovacího serveru nebo lokální kopii výpisu, nikoli živý skript na veřejném webu).
  • V produkci limitujte přístup jen na určité IP adresy a vyžádejte si autentizaci, pokud je to nutné.

Praktické kroky: Jak získat phpinfo() na vašem serveru

Existuje několik způsobů, jak získat php info, v závislosti na prostředí, ve kterém běží vaše webová aplikace. Níže uvádíme nejběžnější scénáře a bezpečnostní doporučení.

Rychlý způsob v PHP skriptu

Nejjednodušší způsob, jak získat PHP Info, je vytvořit malý skript, který volá phpinfo(). Uložte soubor s následujícím obsahem do veřejně přístupného adresáře a otevřete jej v prohlížeči:

<?php
phpinfo();
?

Po zobrazení výstupu důkladně zvažte bezpečnostní kroky uvedené výše a odstraňte nebo dočasně deaktivujte skript.

Využití CLI pro rychlou informaci o PHP

Pokud máte přístup k příkazové řádce (SSH), můžete jednoduše zjistit verzi PHP a dostupná rozšíření pomocí příkazů:

  • php -v pro verzi PHP
  • php -m pro seznam načtených modulů
  • php -i pro textový výpis konfigurace, který je obdobou části phpinfo()

Konfigurace pro webové servery: Apache a Nginx

V prostředí Apache lze phpinfo() spustit stejně jako v jakémkoli jiném PHP skriptu. U Nginx s PHP-FPM se ujistěte, že váš konfigurační blok správně směruje PHP požadavky a že phpinfo() nevystavujete veřejnosti.

Interpretace a klíčové položky ve výstupu PHP Info

Rychlá orientace v php info může být složitá, ale s následující strukturou získáte jasné poznatky:

  • PHP Core – základní konfigurace PHP, včetně directive values jako display_errors, error_reporting, memory_limit, post_max_size, upload_max_filesize a dalších.
  • Loaded Configuration File – cesta k souboru php.ini, který se aktuálně používá. Pokud máte více konfiguračních souborů, zkontrolujte, který soubor je načten.
  • Extensions – seznam načtených rozšíření (např. json, mbstring, curl, openssl). Tyto moduly určují, jaké funkce a API jsou dostupné pro vaši aplikaci.
  • Environment – informace o prostředí serveru (např. PATH, HOME) a dalších proměnných, které mohou ovlivnit chování PHP skriptů.
  • Variables from the web server – v některých konfiguracích mohou být zobrazeny proměnné prostředí poskytnuté webovým serverem (např. prostředí Apache).

Při čtení php info si všímejte zejména verze PHP, načtených rozšíření a konfigurace, protože tyto tři položky často určují kompatibilitu s vašimi aplikacemi. Pokud máte konkrétní požadavky na rozšíření (např. pro práci s databázemi, kryptografií nebo zpracováním textu), php info vám pomůže rychle ověřit jejich dostupnost a konfiguraci.

php info a bezpečnost: co sledovat a jak minimalizovat rizika

Když se rozhodnete zveřejnit php info pro testovací účely, dbejte na následující zásady:

  • Dočasnost – použijte dočasný skript a co nejdříve ho odstraňte po získání potřebných informací.
  • Omezení přístupu – pokud je to možné, omezte přístup pouze na vámi definované IP adresy nebo vyžadujte autentizaci.
  • Maskování citlivých informací – v některých případech je vhodné skrýt části outputu phpinfo() (např. cesta k souborům nebo konkrétní environment proměnné).

Jak interpretovat informace z PHP Info v praxi

V praxi se často setkáváme s následujícími scénáři, kdy je php info rozhodující pro úspěšné nasazení:

  • Aktualizace PHP verze a kompatibilita kódu.
  • Ověření, zda jsou zapnuté a dostupné potřebné moduly (např. curl pro API volání, mbstring pro zpracování řetězců, openssl pro šifrování).
  • Zjištění limitů prostředků, které mohou ovlivnit výkon velkých operací (např. upload, časová omezení).
  • Kontrola konfiguračního souboru php.ini a jeho vlivu na chování aplikace.

Pokud provádíte aktualizace, je často užitečné porovnat php info z testovacího prostředí s produkčním. Rozdíly v verzích, modulech a direktivách mohou vést k nečekanému chování. V takových případech vám php info poskytne rychlý a kompletní rámec pro porovnání a odhalení nesouladů.

Rozšíření a konfigurace PHP z pohledu php info

Další klíčovou oblastí, která vychází z php info, je identifikace a ladění rozšíření. Např. pokud vaše aplikace vyžaduje zpracování JSON, hledáte v sekci Extensions položku json a ověříte její aktivaci. U některých rozšíření mohou být vypsány i specifické parametry nebo licenční podmínky, které mohou ovlivnit nasazení a bezpečnost.

Konfigurace PHP: php.ini a konečné hodnoty

Výpis z phpinfo obvykle obsahuje část Directive Values, která ukazuje aktuální hodnoty důležitých direktiv. Mezi často sledované patří:

  • memory_limit – kolik paměti může PHP skript alokovat
  • upload_max_filesize a post_max_size – limity pro upload souborů
  • display_errors a log_errors – způsob zobrazení a logování chyb
  • max_execution_time – maximální délka jednoho skriptu
  • open_basedir – omezení pro přístup k souborům

V kontextu php info je důležité pochopit, že změny v php.ini se mohou projevit až po reloadu/rehodnutí webového serveru. Proto po úpravách konfiguračního souboru vždy ověřte aktuální stav prostřednictvím phpinfo, abyste se ujistili, že změny nastaly a fungují správně.

Alternativy k phpinfo: jak získat podobné informace bezpečně a efektivně

Někteří administrátoři hledají způsoby, jak získat informace o PHP bez toho, aby vypisovali plný výstup php info na veřejnost. Existují vhodné alternativy:

  • phpinfo s filtrací – malý kontrolní skript, který načte phpinfo jen v případě autorizovaného přístupu a zobrazuje jen vybrané sekce.
  • CLI nástroje pro diagnostiku – například php -i pro konfiguraci v textové podobě, které lze zpracovat skriptem a vypsat jen to, co je potřeba.
  • Specializované nástroje pro správu hostingu – některé hostingové platformy nabízejí vestavěné panely, které zajišťují bezpečné zobrazení verzí PHP, modulů a limitů bez nutnosti plného zobrazování phpinfo.

Často kladené otázky k php info

Na závěr si odpovíme na několik běžných dotazů, které se objevují při práci s php info:

Jak zjistím verzi PHP přes PHP Info?

V sekci PHP Version na stránce generated by phpinfo() uvidíte přesnou verzi PHP. To je klíčové pro kompatibilitu kódu a pro identifikaci případných bezpečnostních rizik spojených s dávným koncem podpory.

Co znamenají některé klíčové položky v PHP Info?

Mezi důležité položky patří:

  • Loaded Configuration File – cesta k aktualně načtenému php.ini
  • Extensions – seznam načtených modulů
  • Directive Values – aktuální hodnoty konfiguračních direktiv

Je možné phpinfo skrýt po získání informací?

Ano. Po získání potřebných informací odstraňte soubor obsahující phpinfo() ze serveru, případně ji deaktivujte. Toto minimalizuje riziko zneužití citlivých údajů o konfiguraci.

Praktické tipy pro použití php info ve vašem workflow

Chcete-li maximalizovat užitek z php info ve vašem pracovním procesu, můžete vyzkoušet následující postupy:

  • Vytvořte dočasný obsah pro testování: phpinfo tak, aby byl dostupný jen v IP omezených podmínkách a na krátkou dobu.
  • Automatizujte porovnání verzí a modulů v staging prostředí a produkci s využitím skriptů, které parsují výstup phpinfo a generují zhoda/nesoulady reporty.
  • Vytvořte checklist pro migraci na novou verzi PHP, kde php info slouží jako kontrolní bod pro kompatibilitu aplikací.

Závěr: Proč je php info nepostradatelným nástrojem každého PHP vývojáře a administrátora

php info je jedním z nejdůležitějších nástrojů pro rychlou diagnostiku a plánování změn v prostředí PHP. Díky němu snadno zjistíte, zda je na serveru správně nastavená verze PHP (vč. kompatibility s aplikacemi), zda jsou povolena klíčová rozšíření a jaké hodnoty mají důležité direktivy v php.ini. Při práci s informacemi o PHP, tedy s PHP Info, si vždy pamatujte na bezpečnostní best practices: nikdy nepřistupujte k plnému výstupu phpinfo z veřejného prostoru a vždy sledujte nejnovější doporučení pro správu verzí a konfigurace. Pokud budete postupovat systematicky a s respektem ke konfiguraci serveru, php info vám pomůže udržet web rychlý, stabilní a bezpečný.

V konečném důsledku je php info nejen technický nástroj, ale i most mezi vývojářským kódem a provozní infrastrukturou. Správné porozumění výstupu PHP Info umožňuje rychle identifikovat slabiny, plánovat upgrady a zajistit bezproblémový chod webových služeb. A to všechno začíná jednoduchým, ale mocným krokem: zjistit, co se skutečně děje pod kapotou vašeho PHP.