---
title: PHP
source: https://synapx.fr/blog/php/
date: 2026-06-26
category: Serveur Web
site: SynapxLab
---

# PHP

Guide d'installation et de configuration de PHP, avec Apache et PHP-FPM, sur un serveur Debian.

## Changer de version

Installez une nouvelle version de PHP, ici PHP 8.3, avec le module Apache et PHP-FPM :

```bash
sudo apt update
sudo apt install php8.3 php8.3-cli php8.3-fpm libapache2-mod-php8.3
```

Désactivez l'ancienne version et activez la nouvelle dans Apache si vous utilisez `mod_php` :

```bash
sudo a2dismod php7.2
sudo a2enmod php8.3
sudo systemctl restart apache2

php -v
```

Sélectionnez la version utilisée en ligne de commande :

```bash
sudo update-alternatives --display php
sudo update-alternatives --config php
```

## Exécuter PHP en FastCGI (PHP-FPM)

À partir d'Apache 2.4.10, utilisez `SetHandler` pour exécuter PHP comme processus FastCGI :

```apache
<FilesMatch "\.php$">
    SetHandler "proxy:unix:/run/php/php8.3-fpm.sock|fcgi://localhost"
</FilesMatch>
```

Démarrez le service PHP-FPM, puis rechargez Apache :

```bash
sudo systemctl start php8.3-fpm
sudo systemctl enable php8.3-fpm
sudo systemctl restart apache2
```

## Directives supplémentaires PHP

```ini
max_input_vars = 1000      ; Limite le nombre maximal de variables que PHP accepte via des requêtes POST, GET ou COOKIE.
post_max_size = 8M         ; Limite la taille maximale des données POST envoyées via un formulaire.
upload_max_filesize = 2M   ; Limite la taille maximale des fichiers téléversés via un formulaire.
```

## Directives supplémentaires Apache

```apache
LimitRequestFieldSize 8190   # Taille maximale d'un champ d'en-tête HTTP
LimitRequestFields 100
LimitRequestBody 0           # Limite la taille maximale du corps d'une requête (comme une requête POST).
LimitRequestLine 8190        # Limite la taille maximale de la ligne de requête HTTP (méthode, URI, version HTTP).
LimitRequestHeaderSize 8190  # Limite la taille maximale des en-têtes de la requête HTTP.
```

## Vérifier les valeurs

```bash
php -i | less
apachectl -S
```
