# PHP frissítése Windowson

> PHP frissítése Windowson: a megfelelő változat kiválasztása, a letöltés ellenőrzése SHA-256-tal, a php.ini átvétele és az Apache-modul a PHP2Shell miatt.

Forrás: https://phpsos.de/hu/blog/php-unter-windows-aktualisieren/  
Állapot: 2026. 10. 25.  
Szolgáltató: PHP SOS, PHP-vészhelyzeti segítség és szerverbiztonság. Azonnali segítség WhatsAppon: https://wa.me/491736494914?text=%C3%9Cdv%C3%B6zl%C3%B6m%2C%20PHP%20SOS%21%20Seg%C3%ADts%C3%A9gre%20van%20sz%C3%BCks%C3%A9g%C3%BCnk%20a%20PHP-szerver%C3%BCnkkel.%20C%C3%A9g%3A%20%E2%80%A6%20Weboldal%3A%20%E2%80%A6

**Röviden:** Windowson a PHP-t kézzel frissíti: töltse le a kijavított verziót a php.net-ről, válassza ugyanazt a változatot (Thread Safe vagy Non Thread Safe) és architektúrát, ellenőrizze a letöltést SHA-256-tal, vegye át a php.ini-t és a bővítményeket, állítsa át az útvonalat, és indítsa újra az összes PHP-folyamatot. A frissítés különösen sürgős, ha az Apache Windows alatt modulként tölti be a PHP-t, mert ezt az üzemmódot a PHP-csapat a PHP2Shellnél a legmagasabbra értékeli.

## Hol bújik meg a PHP a Windows-gépeken

A PHP-vel futó Windows-szerverek gyakoribbak, mint sokan gondolják. Ritkán a nagy weboldal, gyakrabban intranetek, szakalkalmazások vagy eszközök, amelyeket évekkel ezelőtt valaki beállított. Az IIS alatti üzemeltetést a [PHP védelme Windowson és IIS-en](https://phpsos.de/hu/server/windows-iis-php/) oldal részletesen leírja. Ez a cikk magát a frissítést és az IIS-en kívüli eseteket tárgyalja.

Tipikus lelőhelyek: az Apache Windowsra PHP-vel modulként, a szerveren landolt fejlesztői csomagok, például a XAMPP, a WampServer vagy a Laragon, a szakalkalmazások saját PHP-másolatai és az ütemezett feladatokban lévő PHP-szkriptek. A következő PowerShell-parancsok csak olvasnak, és segítenek a keresésben:

```powershell
# Az összes php.exe megkeresése a C: meghajtón (nagy meghajtókon eltart egy ideig)
Get-ChildItem -Path C:\ -Filter php.exe -Recurse -ErrorAction SilentlyContinue |
  Select-Object FullName, LastWriteTime

# Melyik php.exe van a keresési útvonalon?
where.exe php

# Futó PHP- és Apache-folyamatok útvonallal és indulási idővel
Get-Process php*, httpd -ErrorAction SilentlyContinue | Select-Object Name, Id, StartTime, Path

# Egy telepítés verziója és betöltött konfigurációja (az útvonal példa)
& "C:\PHP\8.4\php.exe" -v
& "C:\PHP\8.4\php.exe" --ini
```

Fontos: ha a PHP Apache-modulként fut, nincs önálló PHP-folyamat. A PHP ilyenkor a `httpd.exe` folyamatban van. Aki csak php-cgi-folyamatokat keres, ezeket a telepítéseket figyelmen kívül hagyja.

Könnyen elfelejtődnek az ütemezett feladatok is, amelyek PHP-szkripteket hívnak, például importokhoz, jelentésekhez vagy adategyeztetésekhez. Gyakran saját, régebbi `php.exe`-t használnak. A PHP2Shell szempontjából kevésbé veszélyeztetettnek számítanak, mert a php.net eddigi adatai szerint a parancssor nem tartozik az érintett üzemmódok közé; a cserénél mégis az új útvonalra kell mutatniuk, különben a régi telepítés használatban marad, és soha nem távolítják el.

```powershell
# PHP-t hívó ütemezett feladatok
Get-ScheduledTask | Where-Object { $_.Actions.Execute -match 'php' } |
  Select-Object TaskName, TaskPath, @{n='Programm';e={$_.Actions.Execute}}
```

Külön téma a fejlesztői gépek. A XAMPP és hasonló csomagok az Apache-ot PHP-vel modulként indítják, és gyakran az egész céges hálózatból elérhetők. Ott is frissíteni kell a PHP-t, és a webszervernek csak a saját gépen szabad figyelnie.

## Thread Safe vagy Non Thread Safe: a megfelelő változat

A php.net minden Windows-verziót több változatban kínál. A cserénél érvényes: ugyanaz a változat és architektúra, mint eddig, különben a webszerver vagy a bővítmények nem töltődnek be.

| Jellemző | Lehetőségek | Mikor melyik |
|---|---|---|
| Szálbiztonság | NTS (Non Thread Safe), TS (Thread Safe) | a php.net szerint az NTS a FastCGI-hez, pl. IIS-hez, és a parancssorhoz; a TS a PHP-hez Apache-ban modulként |
| Architektúra | x64, x86 | a php.net az x64-et ajánlja |
| Fordító | VS16, VS17 | a Visual Studio 2015–2022 Visual C++ Redistributable csomagot igényli |

A PHP 8.5-höz a php.net a 2026. október 25-i lekérdezéskor a 8.5.12 verziót listázta 2026. október 21-i dátummal, ZIP-archívumként mind a négy kombinációban. A többi támogatott ágat ugyanazon az oldalon választhatja ki. Kijavítottak a 8.5.12, 8.4.27, 8.3.36 és 8.2.35. A 8.1-hez és a régebbiekhez nincsenek hivatalos frissítések.

## PHP-frissítés Windowson: a letöltés ellenőrzése és tiszta csere

1. **Töltse le a kijavított verziót:** a php.net Windows-letöltési oldaláról, a változatnak és az architektúrának megfelelően.
2. **Vesse össze az ellenőrző összeget:** a php.net minden archívumhoz megad egy SHA-256 értéket. Ha eltér, ne használja a fájlt.
3. **Csomagolja ki egy új mappába:** például `C:\PHP\8.4.27`, hogy a régi állapot visszaútként megmaradjon.
4. **Vegye át a konfigurációt:** másolja a korábbi `php.ini` fájlt, és hasonlítsa össze az új `php.ini-production` fájllal.
5. **Ellenőrizze a bővítményeket:** A harmadik féltől származó további DLL-fájloknak illeszkedniük kell a verzióhoz, a változathoz és az architektúrához.
6. **Állítsa át az útvonalat:** a FastCGI-bejegyzésben, az Apache `LoadModule` sorában vagy a `PATH` környezeti változóban.
7. **Indítsa újra és ellenőrizze:** indítsa újra a webszerver-szolgáltatást és az ütemezett feladatokat, majd ellenőrizze a verziót és az indulási időket.

```powershell
# A letöltött fájl SHA-256 értékének kiszámítása és összevetése a php.net értékével
Get-FileHash .\php-8.5.12-nts-Win32-vs17-x64.zip -Algorithm SHA256

# A váltás után: az új telepítés betöltött bővítményei és verziója
& "C:\PHP\8.5.12\php.exe" -m
& "C:\PHP\8.5.12\php.exe" -v
```

Ha a PHP a váltás után nem indul, vagy hiányzó DLL-t jelez, gyakran a megfelelő architektúrájú Visual C++ Redistributable hiányzik, vagy egy bővítmény nem illik az új verzióhoz. A hiba a leggyorsabban akkor derül ki, ha a `php.exe -v` parancsot közvetlenül a parancssorban hívja meg, mielőtt átállítja a webszervert. Hogy a php.ini egyes bejegyzései mit okoznak, azt a [A php.ini magyarázata](https://phpsos.de/hu/php/php-ini-erklaert/) írja le.

## Apache Windowson: vegye komolyan a modulüzemmódot

Sok régebbi Windows-telepítés a PHP-t egy `LoadModule` sorral közvetlenül az Apache-ba köti be. Technikailag ez ugyanaz, mint a mod_php Linuxon. A PHP-csapat a PHP2Shell kockázatát éppen ott értékeli a legmagasabbra, mert még az alkalmazáskód futása előtt bemutattak egy exploitot. A hátteret a [Miért különösen veszélyeztetett a mod_php](https://phpsos.de/hu/php2shell/mod-php-risiko/) oldal ismerteti.

Hogy az Apache mely modulokat tölti be, azt a `httpd.exe -M` mutatja a telepítés bin mappájában; a parancs csak olvas. Ha ott PHP-modul áll, a frissítésnek elsőbbsége van. Középtávon megéri a váltás PHP-re FastCGI-n keresztül NTS buildekkel, hogy a PHP saját folyamatokban fusson. Ez tesztet igényel, mert a konfiguráció és a jogosultságok változnak.

> **Fontos:**
> A fájlok cseréje még nem zárja be a rést. Amíg az Apache-szolgáltatás, az IIS-alkalmazáskészletek vagy az ütemezett feladatok a régi verzióval futnak, a rés nyitva marad. A frissítés után ellenőrizze minden folyamat indulási idejét.

## A frissítés után: ellenőrzés és nyomok

Telepítésenként rögzítse az útvonalat, a verziót, a változatot és a váltás dátumát. A régi PHP-mappákat csak akkor távolítsa el, amikor az új állapot stabilan fut, és akkor valóban, hogy véletlenül ne kössék be újra.

A frissítés nem távolítja el a kártevőt. Ha egy Windows-szerver a javítás előtti napokban elérhető volt az internetről, ellenőrizze a webkönyvtárakat új szkriptfájlokra, az ütemezett feladatokat és a helyi fiókokat ismeretlenre, és mentse a webszerver-naplókat 2026. október 20-tól. Hogy miről ismeri fel a behatolást, azt a [Megfertőzték már a rendszeremet?](https://phpsos.de/hu/php2shell/bin-ich-gehackt-anzeichen/) oldal írja le.

## Hogyan segít konkrétan a PHP SOS?

- **Az összes telepítés megkeresése:** Megkeressük a PHP-t a Windows-rendszerein, az Apache-modulokban, a fejlesztői csomagokban és a szakalkalmazásokban is.
- **Csere és igazolás:** A [PHP-javítási szolgáltatáson](https://phpsos.de/hu/leistungen/php-patch-service/) keresztül átváltunk a kijavított verzióra, ellenőrizzük az ellenőrző összegeket, és dokumentáljuk a verziót és a folyamatindulást.
- **Az üzemmód javítása:** Ahol a PHP Apache-modulként fut, megtervezzük és teszteljük az átállást FastCGI-re.
- **Nyomok vizsgálata:** Mentjük a naplókat, és ellenőrizzük a rendszereket támadásra utaló jelekre.


## Gyakori kérdések

**A Windows Update a PHP-t is frissíti?**  
Nem. A PHP nem része a Windowsnak. ZIP-archívumként érkezik a php.net-ről, egy csomag, például a XAMPP részeként vagy egy szakalkalmazással, és mindig ezen az úton kell frissíteni.

**Thread Safe vagy Non Thread Safe változatra van szükségem?**  
A php.net szerint az NTS a FastCGI-hez, vagyis például az IIS-hez, és a parancssorhoz való. A TS a webszerverben modulként való üzemeltetésre való, például Apache-ban. A frissítésnél ugyanazt a változatot válassza, mint eddig.

**Hogyan ellenőrzöm, hogy a PHP-letöltés valódi-e?**  
A php.net minden Windows-archívumhoz megad egy SHA-256 ellenőrző összeget. A PowerShellben a Get-FileHash paranccsal kiszámítja a letöltött fájl ellenőrző összegét, és karakterről karakterre összeveti a két értéket.

**XAMPP-ot használok egy szerveren. Mi a teendő?**  
Az olyan csomagok, mint a XAMPP, saját PHP-t és Apache-ot hoznak magukkal, gyakran a PHP-vel Apache-modulként. Nézze meg, kínál-e a projekt kijavított PHP-vel készült verziót, és ha nem, állítsa át a telepítést egy gondozott megoldásra. Éles üzemre az ilyen fejlesztői csomagok amúgy sem valók.

## Források

- [php.net: PHP letöltése Windowshoz](https://www.php.net/downloads.php?os=windows)
- [PHP: támogatott verziók](https://www.php.net/supported-versions.php)
- [Apache HTTP Server: dokumentáció](https://httpd.apache.org/docs/)
