Kort gezegd: PHP is een opensource scripttaal die vooral voor webtoepassingen wordt gebruikt. De code draait op de server, genereert daar HTML en stuurt alleen het resultaat naar de browser. Omdat veel CMS'en, webshops en interne hulpmiddelen op PHP zijn gebouwd, is de PHP-versie op de server een eigen beveiligingsfactor, los van de CMS-update.
Wat is PHP? Een definitie in eenvoudige woorden
De PHP-handleiding beschrijft PHP als een wijdverbreide, opensource en algemeen inzetbare scripttaal die bijzonder geschikt is voor webontwikkeling en in HTML kan worden ingebed. De naam is een recursief acroniem, dus een afkorting die zichzelf bevat: „PHP: Hypertext Preprocessor”.
Het beslissende verschil met JavaScript in de browser: PHP-code wordt op de server uitgevoerd. De bezoeker ontvangt alleen het kant-en-klare resultaat en ziet de broncode niet. Daardoor is PHP geschikt voor alles wat vertrouwelijk moet blijven, zoals databasetoegang, aanmeldingen of prijsberekeningen.
Volgens de handleiding heeft PHP twee hoofdtoepassingen: serverscripts voor websites en scripts op de opdrachtregel, bijvoorbeeld terugkerende taken via cron. Beide vindt u in bijna elk bedrijf dat een eigen website, webshop of klantenportaal exploiteert.
Waar zit PHP in uw bedrijf?
PHP is zelden direct zichtbaar. Het zit in software die u onder een andere naam kent. Typische voorbeelden:
- Contentmanagementsystemen zoals WordPress, TYPO3, Joomla, Drupal of Contao
- Webshopsystemen zoals Shopware, WooCommerce, Magento of PrestaShop
- Interne diensten zoals Nextcloud, Moodle, MediaWiki of Matomo
- Maatwerk op basis van frameworks zoals Laravel of Symfony
- Webinterfaces van apparaten en hostingpanelen
Elk van deze toepassingen heeft een geïnstalleerde PHP-runtime nodig, dus het programma dat de PHP-code uitvoert. Deze runtime is een eigen software met eigen updates. Een update van WordPress of Shopware werkt PHP niet bij. Wie welke systemen exploiteert, hoort daarom in een inventaris, zoals het artikel Inventaris van alle websites en servers beschrijft.
Hoe ziet PHP-code eruit?
PHP-code staat tussen de markeringen <?php en ?>. Alles daarbuiten wordt ongewijzigd als HTML uitgegeven. Een klein, onschuldig voorbeeld:
<?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>
De server voert het PHP-deel uit en stuurt de browser alleen kant-en-klare HTML, bijvoorbeeld „Guten Tag, heute ist der 25.10.2026”. De functie htmlspecialchars() zet speciale tekens om en beschermt zo tegen ingeslopen HTML. Zulke ingebouwde beveiligingsfuncties zijn een reden waarom zorgvuldig geschreven PHP-code veilig kan zijn.
Uit welke bouwstenen bestaat een PHP-omgeving?
Een PHP-website bestaat niet alleen uit de code van de toepassing. Meerdere lagen werken samen en elke laag heeft eigen onderhoud nodig:
| Bouwsteen | Taak | Wie werkt gewoonlijk bij? |
|---|---|---|
| Webserver (Apache, Nginx, LiteSpeed) | neemt verzoeken uit het netwerk aan | hoster of serverbeheerder |
| PHP-runtime (interpreter) | voert de PHP-code uit | hoster, serverbeheerder, pakketbron |
| Extensies | databasestuurprogramma's, beeldbewerking, versleuteling | samen met de PHP-runtime |
Configuratie (php.ini) |
limieten, foutuitvoer, sessies | serverbeheerder |
| Toepassing (CMS, webshop) | inhoud en bedrijfslogica | bureau of eigen team |
| Plug-ins en bibliotheken | extra functies | bureau of eigen team |
De verbinding tussen webserver en PHP heet SAPI (Server Application Programming Interface). Of PHP als Apache-module, via PHP-FPM of als CGI draait, heeft gevolgen voor beheer en beveiliging. Meer daarover onder SAPI uitgelegd en in het artikel Hoe PHP een webpagina genereert.
Waarom de PHP-versie voor de beveiliging telt
Elke PHP-versie wordt maar een beperkte tijd onderhouden. Volgens php.net krijgt elke versietak twee jaar actieve ondersteuning en daarna nog twee jaar uitsluitend beveiligingscorrecties. Daarna is de tak aan het einde van zijn levensduur en krijgt hij geen officiële updates meer. De details staan onder PHP-versies en releasecyclus.
Hoe belangrijk dat is, laat PHP2Shell zien. In oktober 2026 werden twee kritieke lekken in PHP zelf bekend, CVE-2026-109618 en CVE-2026-109619, beide met CVSS v4.0 9,2. Ze maken het mogelijk om op afstand zonder aanmelding schadelijke code uit te voeren. Verholpen zijn ze in PHP 8.5.12, 8.4.27, 8.3.36 en 8.2.35. Voor PHP 8.1 en ouder zijn er geen officiële updates meer.
Voor beslissers volgen hieruit drie punten:
- Een CMS-update dicht geen lek in PHP. Beide moeten afzonderlijk worden bijgewerkt.
- Na een PHP-update moeten alle PHP-processen opnieuw worden gestart, anders blijft de oude code in het geheugen draaien.
- Een patch bewijst niet dat er eerder niets is gebeurd. Bij onbeschermde servers hoort een controle op sporen erbij.
Leg schriftelijk vast wie bij u verantwoordelijk is voor de PHP-runtime: hoster, bureau of eigen IT. Bij PHP2Shell bleek dat deze vraag in veel bedrijven openstond.
Wat het lek precies is en wie erdoor wordt getroffen, legt de pagina Wat is PHP2Shell? uit.
Hoe helpt PHP SOS concreet?
- Bestand in kaart brengen: Wij stellen vast welke van uw systemen PHP gebruiken, in welke versie en in welke uitvoeringsmodus.
- Verantwoordelijkheid vaststellen: Wij laten zien welke onderdelen uw hoster onderhoudt en welke bij u of uw bureau liggen.
- Bijwerken: Via de PHP-patchservice installeren wij updates, starten alle processen opnieuw en documenteren de stand.
- Natrekken: Waar een server onbeschermd bereikbaar was, controleren wij op sporen van een inbraak.
Veelgestelde vragen
Is PHP een programmeertaal of alleen een scripttaal?
Beide klopt. PHP is een volwaardige, algemeen inzetbare programmeertaal met functies, klassen en typen. Een scripttaal wordt ze genoemd, omdat de broncode niet vooraf tot een uitvoerbaar bestand wordt vertaald, maar tijdens de uitvoering door de PHP-interpreter wordt verwerkt.
Zien bezoekers van mijn website de PHP-code?
Nee. PHP draait op de server, de browser ontvangt alleen het resultaat, meestal HTML. Uitzonderingen ontstaan door een foute configuratie, bijvoorbeeld wanneer de webserver PHP-bestanden als tekst uitlevert of back-ups zoals index.php.bak openbaar staan.
Hoe herken ik of mijn website op PHP draait?
De meeste gangbare CMS- en webshopsystemen zoals WordPress, TYPO3, Shopware, Joomla of Nextcloud zijn in PHP geschreven. Zekerheid krijgt u via de hoster, het bureau of een blik in de serverconfiguratie.
Moet ik als directeur PHP begrijpen?
Niet in detail. Belangrijk is te weten dat PHP een eigen software met eigen updates is, los van het CMS. Wie voor de PHP-versie op uw servers verantwoordelijk is, moet schriftelijk vaststaan.