# PHP-tietoa: ohjelmointikieli selitettynä

> PHP ymmärrettävästi selitettynä: historia, Zend Engine, SAPI, PHP-FPM, mod_php, php.ini, versiot, Composer, istunnot, tiedostolataukset, muisti ja tietoturva.

Lähde: https://phpsos.de/fi/php/  
Tilanne: 25.10.2026  
Palveluntarjoaja: PHP SOS, PHP-hätäapu ja palvelimen tietoturva. Pikaapu WhatsAppilla: https://wa.me/491736494914?text=Hei%20PHP%20SOS%2C%20tarvitsemme%20apua%20PHP-palvelimemme%20kanssa.%20Yritys%3A%20%E2%80%A6%20Verkkosivusto%3A%20%E2%80%A6

Mitä PHP on, miten se muodostaa verkkosivun ja miksi ajotapa, asetukset ja versio ratkaisevat tietoturvan. Ymmärrettävästi päättäjille ja syvällisesti ylläpitäjille ja kehittäjille.

- [Mikä on PHP? Ohjelmointikieli selitettynä](https://phpsos.de/fi/php/was-ist-php/): PHP on komentosarjakieli, joka toimii palvelimella ja tuottaa siellä HTML:ää. Monet CMS- ja verkkokauppajärjestelmät perustuvat siihen, joten PHP:n haavoittuvuus koskee hyvin monia verkkosivustoja.
- [PHP:n historia: vuodesta 1994 tähän päivään](https://phpsos.de/fi/php/geschichte-von-php/): Yksityisestä työkalusta ansioluettelosivulle monien CMS- ja verkkokauppajärjestelmien perustaksi: PHP:n historian tärkeimmät vaiheet tarkistettuine vuosilukuineen.
- [Miten PHP tuottaa verkkosivun: pyynnön tie](https://phpsos.de/fi/php/wie-php-funktioniert/): Mitä klikkauksen ja valmiin sivun välillä tapahtuu: verkkopalvelin, SAPI, kääntäjä, OPcache ja Zend VM seitsemässä vaiheessa, ja miksi PHP2Shell iskee juuri tähän kulkuun.
- [Zend Engine: PHP:n sydän](https://phpsos.de/fi/php/zend-engine/): Zend Engine kääntää PHP-koodin opcode-käskyiksi ja suorittaa ne. Kun sen osat tuntee, ymmärtää, miksi ytimen haavoittuvuudet kuten PHP2Shell korjaa vain PHP-päivitys.
- [OPcache selitettynä: PHP:n tavukoodivälimuisti](https://phpsos.de/fi/php/opcache/): OPcache pitää käännetyn PHP-koodin jaetussa muistissa. Se säästää laskenta-aikaa, mutta vaatii huolellisuutta käyttöönotoissa, uudelleenkäynnistyksissä ja usean asiakkaan palvelimilla.
- [SAPI selitettynä: miten PHP keskustelee verkkopalvelimen kanssa](https://phpsos.de/fi/php/sapi-erklaert/): SAPI on PHP:n ja verkkopalvelimen välinen rajapinta. Se määrää, miten pyynnöt saapuvat, mikä php.ini on voimassa ja mitä päivityksen jälkeen on käynnistettävä uudelleen.
- [PHP-FPM selitettynä: prosessinhallinta, poolit ja workerit](https://phpsos.de/fi/php/php-fpm-erklaert/): PHP-FPM ajaa PHP:tä omana palvelunaan pooleineen ja workereineen. Näin prosessimalli toimii, mitkä direktiivit ovat tärkeitä ja miksi workerit on käynnistettävä uudelleen päivitysten jälkeen.
- [mod_php selitettynä: PHP Apache-prosessissa](https://phpsos.de/fi/php/mod-php-erklaert/): mod_php:ssä PHP on jokaisessa Apache-prosessissa. Se on yksinkertaista mutta jäykkää, ja PHP2Shellin jälkeen riskialtein ajotapa. Näin se toimii ja näin sen tunnistaa.
- [CGI ja FastCGI: perusteet](https://phpsos.de/fi/php/cgi-und-fastcgi/): CGI käynnistää prosessin jokaiselle pyynnölle, FastCGI pitää prosessit hengissä. Mitä se tarkoittaa PHP:lle, php-cgi:lle ja PHP-FPM:lle ja mitkä asetukset vaikuttavat tietoturvaan.
- [PHP komentorivillä (CLI)](https://phpsos.de/fi/php/php-cli/): PHP CLI suorittaa komentosarjoja ilman verkkopalvelinta, esimerkiksi cron-tehtäviin ja ylläpitoon. Se käyttäytyy eri tavalla kuin verkkoversio eikä usein näytä verkkosivustonne käyttämää tilaa.
- [php.ini selitettynä: rakenne, tasot ja etusija](https://phpsos.de/fi/php/php-ini-erklaert/): Mistä PHP löytää asetuksensa, missä järjestyksessä ne tulevat voimaan ja kuka saa ohittaa ne. Perusta kaikelle koventamiselle ja PHP2Shellin väliaikaistoimille.
- [PHP-versiot ja julkaisusykli](https://phpsos.de/fi/php/release-zyklus/): Joka vuosi marraskuussa ilmestyy uusi PHP-versio, jota huolletaan neljä vuotta. Mitkä haarat päättyvät ja milloin, ja mitä se tarkoittaa suunnittelullenne PHP2Shellin jälkeen.
- [PHP 8.0–8.5: tärkeimmät uudet ominaisuudet](https://phpsos.de/fi/php/php-8-neuerungen/): PHP 8.0:n matchista ja JIT:stä PHP 8.5:n pipe-operaattoriin ja URI-laajennukseen: jokaisen version uudet ominaisuudet, päivityksen sudenkuopat ja se, mitä ne tuovat tietoturvalle.
- [PHP-laajennusten (extensions) ymmärtäminen](https://phpsos.de/fi/php/php-erweiterungen/): Laajennukset tuovat PHP:hen tietokanta-ajurit, salauksen tai välimuistit. Näin lajit eroavat, näin ne ladataan ja tarkistetaan ja mitä ne tarkoittavat päivityksille ja koventamiselle.
- [Composer: PHP:n pakettienhallinta](https://phpsos.de/fi/php/composer/): Composer lataa ja hallinnoi kirjastoja, joihin modernit PHP-projektit perustuvat. Kun ymmärtää composer.jsonin, composer.lockin ja automaattisen lataajan, toimitus on toistettavampi ja turvallisempi.
- [PHP-kehykset yleiskatsauksena](https://phpsos.de/fi/php/php-frameworks/): Kehykset antavat PHP-sovelluksille rakenteen, reitityksen ja tietoturvan rakennuspalikoita. Tämä katsaus esittelee tunnetut kehykset, valintaperusteet ja suojan rajat.
- [Mitkä CMS- ja verkkokauppajärjestelmät toimivat PHP:llä](https://phpsos.de/fi/php/cms-und-shops-auf-php/): Monet tunnetut CMS-, verkkokauppa- ja yrityssovellukset toimivat PHP:llä. Näin arvioitte, mitkä verkkosivustoistanne voivat olla PHP-aukkojen, kuten PHP2Shellin, vaikutuspiirissä.
- [PHP ja tietokannat: PDO ja mysqli](https://phpsos.de/fi/php/php-und-datenbanken/): PHP keskustelee tietokantojen kanssa PDO:n tai mysqlin kautta. Tässä erot, turvalliset kyselyt Prepared Statementsilla ja mitä tietokantatunnuksille tehdään palvelinpoikkeaman jälkeen.
- [Istunnot ja evästeet PHP:ssä](https://phpsos.de/fi/php/sessions-und-cookies/): Istunnot tekevät tilattomasta HTTP:stä kirjautumisen, joka pysyy usean sivun yli. Tässä kerrotaan, miten PHP ratkaisee sen sisäisesti, mitkä oletusarvot pätevät ja mitä session.upload_progress liittyy PHP2Shelliin.
- [Superglobaalit: $_GET, $_POST, $_FILES ja muut](https://phpsos.de/fi/php/superglobals/): Superglobaalit ovat taulukoita, joiden kautta PHP-koodi saa pyyntötiedot. Kun tietää, miten PHP täyttää ne ja mitkä rajat pätevät, kirjoittaa turvallisempaa koodia ja ymmärtää PHP2Shelliä paremmin.
- [Miten PHP käsittelee tiedostolataukset](https://phpsos.de/fi/php/datei-uploads-intern/): Latauspainikkeen napsautuksen ja oman koodinne välillä on PHP:ssä kokonainen käsittelyketju. Tällä sivulla selitetään multipart/form-data, tilapäistiedostot, $_FILES, rajat ja yhteys PHP2Shelliin.
- [PHP:n tyyppijärjestelmä](https://phpsos.de/fi/php/typsystem/): PHP on dynaamisesti tyypitetty, mutta sen tyyppijärjestelmä on tiukentunut versiosta PHP 7 lähtien. Täältä näette tyypit, tärkeimmät versiot ja sen, miksi tiukat vertailut ehkäisevät tietoturvavirheitä.
- [Virheet ja poikkeukset PHP:ssä](https://phpsos.de/fi/php/fehler-und-exceptions/): PHP tuntee perinteiset virheilmoitukset ja poikkeukset (exception). Tällä sivulla selitetään Throwable-hierarkia, siisti virheenkäsittely, tuotannon turvalliset asetukset ja PHP2Shell-toimenpide fatal_error_backtraces.
- [Olio-ohjelmointi PHP:ssä](https://phpsos.de/fi/php/objektorientierung/): Modernit PHP-sovellukset ovat lähes aina olio-orientoituneita. Tällä sivulla selitetään rakennuspalikat, uudistukset versioista PHP 8.0–8.4 ja se, miksi taikametodeilla on merkitystä tietoturvalle.
- [Nimiavaruudet ja automaattinen lataus (PSR-4)](https://phpsos.de/fi/php/namespaces-autoloading/): Nimiavaruudet jäsentävät PHP-koodia, ja automaattinen lataus lataa luokat täsmälleen silloin, kun niitä tarvitaan. Täältä näette, miten PSR-4 kuvaa luokkien nimet tiedostoiksi ja miksi lataaja on tarkastettava poikkeaman jälkeen.
- [PHP-FIG:n PSR-standardit](https://phpsos.de/fi/php/psr-standards/): PSR:t ovat yhteisiä standardeja, joista monet PHP-hankkeet ovat sopineet. Tällä sivulla luetellaan kaikki PSR:t tiloineen ja näytetään, mitkä niistä ovat arjessa tärkeitä ja missä ne sivuavat tietoturvaa.
- [Muistinhallinta PHP:ssä: viitelaskenta ja roskienkeruu](https://phpsos.de/fi/php/speicherverwaltung/): PHP hallitsee muistia viitelaskennalla ja kehiä varten roskienkerääjällä. Sivulla selitetään mekaniikka, tärkeimmät mittausfunktiot ja se, miksi kummallakin PHP2Shell-aukolla on tekemistä muistitilojen kanssa.
- [memory_limit ja Out-of-Memory: mitä sisällä tapahtuu](https://phpsos.de/fi/php/out-of-memory/): Mitä tapahtuu, kun PHP-komentosarja osuu rajaan memory_limit? Mekaniikka, lokakuun korjausten tuoma uusi kova muistiraja ja yhteys haavoittuvuuteen CVE-2026-109618.
- [Pyynnön elinkaari: käynnistys, suoritus, sammutus](https://phpsos.de/fi/php/request-lebenszyklus/): Miten PHP käynnistää prosesseja, käsittelee pyyntöjä ja siivoaa niiden välillä. Vaiheet MINITistä MSHUTDOWNiin ja yhteys haavoittuvuuteen CVE-2026-109619.
- [JIT ja suorituskyky PHP 8:ssa](https://phpsos.de/fi/php/jit-und-performance/): JIT-kääntäjä muuntaa PHP:tä konekoodiksi versiosta 8.0 lähtien. Tyypillisille sivustoille hyöty on vähäinen; OPcache, ajantasaiset versiot ja siisti konfiguraatio antavat enemmän.
- [PHP-koodin testaus: PHPUnit ja Pest](https://phpsos.de/fi/php/php-testen/): PHPUnit on PHP:n vakiotestityökalu, ja Pest rakentuu sen päälle. Kun testit ovat olemassa, tietoturvapäivitykset ja versiovaihdokset voi tehdä nopeammin ja pienemmällä riskillä.
- [Staattinen analyysi: PHPStan ja Psalm](https://phpsos.de/fi/php/statische-analyse/): PHPStan ja Psalm löytävät PHP-koodin virheitä suorittamatta sitä. Psalm seuraa lisäksi turvattomia tietovirtoja. PHP-tulkin omia aukkoja kumpikaan ei löydä.
- [PHP:n sisäänrakennetut tietoturvafunktiot](https://phpsos.de/fi/php/eingebaute-sicherheitsfunktionen/): PHP tarjoaa turvallisia rakennuspalikoita salasanoille, satunnaisarvoille, maskaukselle, kryptografialle ja istunnoille. Niitä johdonmukaisesti käyttämällä vältetään yleisimmät sovellusvirheet.
- [PHP:n paikallinen kehitys: Docker, DDEV ja muut](https://phpsos.de/fi/php/php-lokal-entwickeln/): PHP:n paikalliseen kehitykseen on sisäänrakennettu verkkopalvelin, viralliset Docker-kuvat ja työkaluja kuten DDEV. Tärkeää on, että paikallisesti ajetaan samaa PHP-versiota kuin tuotannossa.
- [PHP verrattuna Node.js:ään, Pythoniin ja Javaan](https://phpsos.de/fi/php/php-im-vergleich/): PHP, Node.js, Python ja Java eroavat toisistaan ennen kaikkea suoritusmallissa ja käytössä. Mikään kieli ei ole sinänsä turvallisempi; ratkaisevia ovat ylläpito ja korjausprosessi.
- [Miten PHP-hanke käsittelee tietoturva-aukot](https://phpsos.de/fi/php/php-sicherheitsprozess/): PHP:n tietoturva-aukot ilmoitetaan luottamuksellisesti, luokitellaan, korjataan julkaisussa ja julkaistaan GitHub Security Advisorynä. PHP2Shell näyttää kulun hätätilanteessa.
- [PHP:n kääntäminen lähdekoodista](https://phpsos.de/fi/php/php-kompilieren/): PHP:n voi rakentaa itse komennoilla configure ja make. Se antaa hallinnan laajennuksiin ja valitsimiin, mutta myös täyden vastuun jokaisesta tietoturvapäivityksestä.
- [PHP:n ajaminen konteissa](https://phpsos.de/fi/php/php-in-containern/): PHP kontissa tarvitsee sopivan kuvavariantin, tuotantokonfiguraation, järkevät muistirajat ja prosessin, joka rakentaa kuvat uudelleen jokaisen tietoturvajulkaisun yhteydessä.
- [PHP:n tulevaisuus](https://phpsos.de/fi/php/zukunft-von-php/): PHP:tä kehitetään kiinteiden sääntöjen mukaan: neljä vuotta tukea versiota kohti, PHP 8.6 on suunniteltu 19.11.2026, PHP 9.0:lle on hyväksyttyjä RFC:itä mutta ei aikataulua.
- [PHP-perustiedot ylläpitäjille](https://phpsos.de/fi/php/php-grundwissen-admins/): Mitä ylläpitäjän on tiedettävä PHP:stä: mitkä binäärit ovat käynnissä, miten konfiguraatio vaikuttaa, miten FPM-poolit toimivat ja mitkä komennot auttavat PHP2Shellin kaltaisissa päivityksissä.
