> ## Documentation Index
> Fetch the complete documentation index at: https://kawax.biz/llms.txt
> Use this file to discover all available pages before exploring further.

# PHP, Composer en Node.js installeren met WSL (Windows)

> Een stapsgewijze gids voor het installeren van PHP, Composer en Node.js met WSL 2 op Windows 10/11, zodat je een Laravel-ontwikkelomgeving opzet.

## Inleiding

Voor Laravel-ontwikkeling op Windows is het gebruik van **WSL (Windows Subsystem for Linux)** de best practice. Je kunt de Linux-toolchain rechtstreeks gebruiken, waardoor dezelfde commando's werken als op macOS of je productieserver.

In deze gids leggen we uit hoe je op Ubuntu binnen WSL 2 PHP, Composer en Node.js (via nvm) installeert, tot en met het punt waarop `laravel new` werkt.

<Info>
  Doelomgeving: Windows 10 (versie 2004 of nieuwer) of Windows 11. We gebruiken WSL 2.
</Info>

***

## WSL installeren

<Steps>
  <Step title="PowerShell als administrator openen">
    Zoek in het startmenu naar "PowerShell" en kies "Als administrator uitvoeren".
  </Step>

  <Step title="WSL en Ubuntu installeren">
    ```powershell theme={null}
    wsl --install
    ```

    Dit commando installeert WSL 2 en Ubuntu (de standaarddistributie). Start je pc opnieuw op zodra dit klaar is.
  </Step>

  <Step title="Ubuntu instellen">
    Na de herstart start Ubuntu automatisch. Stel een gebruikersnaam en wachtwoord in. Dit wachtwoord gebruik je voor het `sudo`-commando.

    <Warning>
      Het wachtwoord wordt tijdens het typen niet op het scherm getoond. Typ het zorgvuldig in.
    </Warning>
  </Step>

  <Step title="Pakketlijst bijwerken">
    Voer het volgende uit in de Ubuntu-terminal.

    ```bash theme={null}
    sudo apt update && sudo apt upgrade -y
    ```
  </Step>
</Steps>

***

## PHP installeren

De standaardrepository van Ubuntu bevat soms een verouderde PHP-versie. We installeren de nieuwste versie via de PPA `ondrej/php`.

<Steps>
  <Step title="Benodigde pakketten installeren">
    ```bash theme={null}
    sudo apt install -y software-properties-common
    ```
  </Step>

  <Step title="De ondrej/php PPA toevoegen">
    ```bash theme={null}
    sudo add-apt-repository ppa:ondrej/php
    sudo apt update
    ```
  </Step>

  <Step title="PHP 8.3 en de benodigde extensies installeren">
    Laravel 13 vereist PHP 8.3 of hoger.

    ```bash theme={null}
    sudo apt install -y php8.3 php8.3-cli php8.3-mbstring php8.3-xml php8.3-curl php8.3-zip php8.3-sqlite3 php8.3-mysql
    ```
  </Step>

  <Step title="Versie controleren">
    ```bash theme={null}
    php --version
    ```

    Als er `PHP 8.3.x` of hoger wordt getoond, is het gelukt.
  </Step>

  <Step title="(Optioneel) Wisselen tussen meerdere versies">
    Heb je meerdere PHP-versies nodig, dan kun je wisselen met `update-alternatives`.

    ```bash theme={null}
    sudo update-alternatives --config php
    ```

    Er verschijnt een lijst met geïnstalleerde versies; voer het nummer in van de versie die je wilt gebruiken.
  </Step>
</Steps>

***

## Composer installeren

Composer installeer je met de officiële installer.

<Steps>
  <Step title="Benodigde pakketten controleren">
    ```bash theme={null}
    sudo apt install -y curl php8.3-cli unzip
    ```
  </Step>

  <Step title="De officiële installer downloaden en uitvoeren">
    ```bash theme={null}
    curl -sS https://getcomposer.org/installer -o /tmp/composer-setup.php
    sudo php /tmp/composer-setup.php --install-dir=/usr/local/bin --filename=composer
    ```
  </Step>

  <Step title="Versie controleren">
    ```bash theme={null}
    composer --version
    ```
  </Step>

  <Step title="Het pad voor globale installaties instellen">
    Voeg `~/.composer/vendor/bin` toe aan je `PATH`, zodat je pakketten kunt gebruiken die je met `composer global require` installeert (zoals de Laravel installer).

    Voeg het volgende toe aan `~/.bashrc` (of `~/.zshrc`).

    ```bash theme={null}
    export PATH="$HOME/.composer/vendor/bin:$PATH"
    ```

    Laad de configuratie opnieuw.

    ```bash theme={null}
    source ~/.bashrc
    ```
  </Step>
</Steps>

***

## nvm installeren

Node.js installeer je per gebruiker met nvm (Node Version Manager). Omdat je het zonder `sudo` kunt beheren, werkt het goed samen met AI-tools en CLI's die globale npm-pakketten gebruiken.

<Steps>
  <Step title="nvm installeren">
    Het nieuwste installatiescript vind je in de [GitHub-repository van nvm](https://github.com/nvm-sh/nvm).

    ```bash theme={null}
    curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash
    ```
  </Step>

  <Step title="Toevoegen aan je shell-configuratiebestand">
    Het installatiescript voegt automatisch het volgende toe aan `~/.bashrc`. Is dat niet gebeurd, voeg het dan handmatig toe.

    ```bash theme={null}
    export NVM_DIR="$HOME/.nvm"
    [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
    [ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"
    ```

    Laad de configuratie opnieuw.

    ```bash theme={null}
    source ~/.bashrc
    ```

    Gebruik je zsh, voeg het dan op dezelfde manier toe aan `~/.zshrc` en herlaad met `source ~/.zshrc`.
  </Step>

  <Step title="Installatie controleren">
    ```bash theme={null}
    nvm --version
    ```
  </Step>
</Steps>

***

## Node.js installeren

<Steps>
  <Step title="De LTS-versie installeren">
    ```bash theme={null}
    nvm install --lts
    ```
  </Step>

  <Step title="Als standaard instellen">
    Stel de standaardversie in, zodat die ook automatisch wordt gebruikt in nieuwe terminalsessies.

    ```bash theme={null}
    nvm alias default node
    ```
  </Step>

  <Step title="Versie controleren">
    ```bash theme={null}
    node --version
    npm --version
    ```
  </Step>
</Steps>

***

## Laravel-installatie controleren

<Steps>
  <Step title="De Laravel installer installeren">
    ```bash theme={null}
    composer global require laravel/installer
    ```
  </Step>

  <Step title="Een nieuw project aanmaken">
    ```bash theme={null}
    laravel new my-app
    ```

    Er start een interactieve setup. Je kunt onder meer een starter kit kiezen en aangeven of je authenticatie wilt.
  </Step>

  <Step title="De ontwikkelserver starten">
    ```bash theme={null}
    cd my-app
    php artisan serve
    ```

    Open `http://localhost:8000` in je browser. Zie je de welkomstpagina van Laravel, dan ben je klaar.

    <Tip>
      Als je vanuit een Windows-browser geen toegang krijgt tot `localhost` in WSL, probeer dan te starten met `php artisan serve --host=0.0.0.0`.
    </Tip>
  </Step>
</Steps>

***

## Extra: tools die je ontwikkelefficiëntie verhogen

### Windows Terminal

Met Windows Terminal beheer je WSL, PowerShell en de opdrachtprompt centraal in meerdere tabs. Je installeert het gratis via de Microsoft Store.

* Meerdere shells parallel bedienen in tabs
* De Ubuntu-shell instellen als standaard
* Lettertype en kleuren vrij aanpasbaar

### VS Code Remote - WSL-extensie

Met de [Remote - WSL](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-wsl)-extensie van VS Code kun je bestanden binnen WSL rechtstreeks bewerken vanuit VS Code op Windows.

```bash theme={null}
# Een project openen in VS Code vanuit de WSL-terminal
code .
```

Bij de eerste keer uitvoeren wordt de VS Code-server automatisch geïnstalleerd binnen WSL. Daarna ontwikkel je met een ervaring die gelijkwaardig is aan native.


## Related topics

- [PHP, Composer en Node.js installeren met Homebrew (macOS)](/nl/blog/mac-setup.md)
- [博客](/zh-CN/blog/index.md)
- [部落格](/zh-TW/blog/index.md)
- [Laravel Pint](/nl/pint.md)
- [Laravel Multiplex — een TUI om lokale ontwikkelprocessen samen te beheren](/nl/blog/multiplex-introduction.md)
