Přejít k navigační liště

Zdroják » PR Články » Ladíme PHP s pomocí Visual Studio Code

Ladíme PHP s pomocí Visual Studio Code

Články PR Články

Nedávno jsem vydal článek PHP si rozumí s Microsoftem, kde jsem zmiňoval možnost vývoje PHP aplikací v prostředí Visual Studio Code. Uběhly zhruba dva měsíce od vydání verze, která umožňuje rozšíření prostředí pomocí různých doplňků z galerie, a v této galerii doplňků se objevil doplněk php-debug. Doplněk na pozadí využívá PHP rozšíření Xdebug a díky tomu můžete při ladění využívat breakpointy (body přerušení), prohlížet obsah proměnných a krokovat kódem.

Instalace doplňku

Doplněk je dostupný pro všechny platformy, které podporuje Visual Studio Code. Pokud nemáte Visual Studio Code nainstalované, můžete si ho stáhnout zde (dostupné pro Windows, Linux a Mac OS X).

Po spuštění otevřete nabídku příkazů pomocí klávesy F1. Do řádku příkazů stačí vložit ext install php-debug a následně potvrdit instalaci doplňku, který se během několika sekund nainstaluje do vašeho prostředí.

Instalace doplňku php-debug do Visual Studio Code.

Instalace doplňku php-debug do Visual Studio Code.

Konfigurace PHP a Xdebug

Poté, co nainstalujete php-debug do Visual Studio Code, je nutné provést konfiguraci vašeho prostředí na serveru, který zpracovává PHP skripty – je potřeba povolit a nakonfigurovat doplněk Xdebug.

Prvním krokem je stažení doplňku Xdebug – to můžete provést např. zde. Pokud využíváte Windows (IIS, XAMPP apod.), můžete si stáhnout již zkompilované knihovny. Osobně jsem instalaci zkoušel na Ubuntu 15.10 s PHP 7.0 FPM a webovým serverem NGINX, tudíž jsem použil následující příkazy (prvně je nutné přidat repositář ppa:ondrej/php, více informací najdete na výše zmíněné adrese pro PHP7):

sudo apt-get install nginx
sudo apt-get install php7.0-fpm
sudo apt-get install php7.0-mysql php7.0-curl [+ další rozšíření, která potřebujete]
sudo apt-get install php-xdebug

Další možnosti instalace, např. Apache, najdete na oficiálních stránkách.

Nastavení Xdebug

Xdebug nabízí spoustu možností pro ladění, nicméně pro demonstraci využití ve Visual Studio Code stačí přidat do konfigurace PHP (typicky php.ini) následující:

[Xdebug]
xdebug.remote_enable = 1
xdebug.remote_port = 9000
xdebug.remote_mode = req
xdebug.remote_host = localhost
xdebug.remote_autostart = 1

Toto nastavení znamená, že při každém požadavku na váš server se pokusí server navázat připojení s vaším klientem (na portu 9000 a stejné stanici – tudíž localhost, vzdáleného ladění se dotkneme lehce dále).

Windows / IIS / Azure

Pokud využíváte server s OS Windows, stáhněte si výše zmíněnou knihovnu Xdebug pro vaši verzi PHP a v konfiguračním souboru php.ini na ni přidejte referenci:

zend_extension=DISK:/cesta/php_xdebug-verze.dll

Následně pak přidejte konfiguraci pro nastavení Xdebug výše.

Ladíme

Nyní stačí nastavit jen ladění v projektu, který máte otevřený ve Visual Studio Code. Z levého menu klikněte na ikonu ladění a následně klikněte na malé ozubené kolečko. Následně pro vás bude vytvořena spouštěcí konfigurace. Ladící mód spustíte buď klávesou F5 nebo kliknutím na zelenou šipku v okně ladění. Od té doby bude Visual Studio Code naslouchat na příchozí požadavky od vašeho serveru a vy můžete začít ladit svůj projekt.

Ladění v prostředí Visual Studio Code.

Ladění v prostředí Visual Studio Code.

Vzdálené ladění

Xdebug podporuje také vzdálené ladění – tedy situaci, kdy potřebujete ladit kód přímo na vašem serveru z klientské stanice. Zde existuje poměrně mnoho způsobů, jak dosáhnout cíle (veškeré jsou popsané zde, zmíním jenom ty nejzákladnější).

Pokud na své klientské stanici máte k dispozici veřejnou IP adresu, není nic jednoduššího, než na vašem routeru nasměrovat zvolený port pro ladění na vaši klientskou stanici a v konfiguraci PHP změnit xdebug.remote_host na vaši IP adresu.

Problém však nastává, pokud jste například za NAT, váš server je za striktním firewallem nebo nemáte k dispozici veřejnou IP adresu na klientovi. Pokud běží váš server na OS Linux a je možné se k němu připojit pomocí SSH, nejsnadnější cestou je využít tzv. SSH tunel, který na vašeho klienta přesměruje daný port ze serveru.

Nastavení SSH tunelu v PuTTY.

Nastavení SSH tunelu v PuTTY.

Druhou možností je využít VPN, tedy virtuální síť. Toto je dobré v případě Windows nebo ladění v Microsoft Azure, kdy xdebug.remote_host bude vaše IP adresa v rámci dané virtuální sítě. Podobně jako u SSH tunelu je výhodou to, že veškerá komunikace je šifrovaná.

Další tipy, jak využít Visual Studio Code, můžete najít například zde:

Jan Hájek (TheNetw.org)

Přístupnost není jen o splnění norem: nový pohled na inkluzivní design

Přístupnost a inkluze možná nepatří mezi nejžhavější témata digitálního světa – dokud o nich nezačne mluvit Vitaly Friedman. Na WebExpo 2024 předvedl, že inkluzivní design není jen o splněných checkboxech, ale hlavně o lidech. S energií sobě vlastní obrátil zažité přístupy naruby a ukázal, že skutečně přístupný web je nejen možný, ale i nezbytný.

Efektivnější vývoj UI nebo API: Co si odnést z WebExpo 2025?

Různé
Komentáře: 0
Jak snadno implementovat moderní uživatelské rozhraní? Které funkce brzdí rychlost vašeho webu? A kdy raději sami přibrzdit, abychom využitím AI nepřekročili etické principy? Debatu aktuálních dev témat rozdmýchá sedmnáctý ročník technologické konference WebExpo, která proběhne v Praze od 28. do 30. května. Který talk či workshop si rozhodně nenechat ujít? Toto je náš redakční výběr z vývojářských hroznů.

Zapřáhněte AI jako nikdy předtím. Květnová konference WebExpo přivítá hvězdy technologického světa

Od 28. do 30. května 2025 promění pražský Palác Lucerna na tři dny technologická konference WebExpo. Na programu je více než 80 přednášek a workshopů od expertů z celého světa. WebExpo tradičně propojuje vývojáře, designéry, marketéry i byznysové lídry a nabízí praktické dovednosti, strategické myšlení a přináší nejnovější trendy nejen v oblasti AI.