Guide de configuration PHP pour ServBay : Ajuster php.ini, PHP-FPM et les modules d’extension
ServBay offre aux développeurs web un environnement de développement PHP local puissant et flexible. Pour s’adapter aux besoins variés de vos projets, il se peut que vous deviez ajuster différents paramètres PHP, comme la limite de mémoire, la taille des fichiers uploadés, le niveau de rapport d’erreurs ou activer certains modules d’extension.
Cet article détaille comment modifier la configuration PHP dans ServBay. ServBay recommande et propose une interface graphique (UI) pratique pour gérer ces paramètres. Même s’il est utile de connaître l’emplacement et la structure des fichiers de configuration sous-jacents (tels que php.ini
et php-fpm.conf
), il est fortement conseillé de réaliser les modifications via l’interface de ServBay pour garantir la pérennité et la compatibilité de vos réglages.
Avertissement important
Veuillez ne pas modifier manuellement les fichiers de configuration PHP générés par ServBay (situés dans /Applications/ServBay/etc/php/<version>/
et ses sous-dossiers). Ces fichiers sont gérés par ServBay, et toute modification manuelle sera écrasée lors d’une mise à jour, d’un redémarrage ou d’autres opérations sur ServBay. Toutes les modifications doivent être faites depuis l’interface utilisateur de ServBay.
Vue d’ensemble
Dans ServBay, les différentes versions de PHP disposent chacune de leur propre répertoire de configuration. Par exemple, le fichier principal de configuration pour PHP 8.3 se trouve dans le dossier /Applications/ServBay/etc/php/8.3
.
Les fichiers de configuration clés sont :
php.ini
: Le fichier principal de configuration de PHP, qui régit les réglages globaux pour les environnements CLI et Web.php-fpm.conf
: La configuration de PHP-FPM (FastCGI Process Manager), qui influence la manière dont PHP fonctionne et performe via un serveur web (tel que Caddy ou Nginx).conf.d/
: Ce dossier contient les fichiers de configuration de chargement (fichiers.ini
) des modules d’extension PHP individuels, par exemplexdebug.ini
,opcache.ini
, etc.
Bien que ces fichiers existent, ServBay propose une méthode plus sûre et plus pratique pour la modification de leurs options de configuration.
Ajuster la configuration via l’interface ServBay (méthode recommandée)
ServBay propose une interface graphique intuitive qui vous permet de modifier directement les paramètres PHP. Après modification et sauvegarde via l’UI, ServBay applique automatiquement les changements, et redémarre (souvent de manière automatique) le service PHP si nécessaire, sans que vous n’ayez à éditer de fichiers ou à utiliser la ligne de commande.
Pour accéder à l’écran de configuration PHP :
- Ouvrez la fenêtre principale de ServBay.
- Dans la barre de navigation à gauche, cliquez sur Langages.
- Dans la liste des langages, trouvez et sélectionnez la version PHP souhaitée (par exemple, cliquez sur
PHP 8.3
). - Le panneau de droite affichera les informations détaillées et les options de configuration pour cette version de PHP.
Voici à quoi ressemble typiquement l’interface de configuration PHP :
L’interface se divise généralement en trois sections principales : la configuration PHP-FPM, PHP (php.ini
) et les modules d’extension PHP. Elles sont détaillées ci-dessous.
Configuration PHP-FPM
Astuce
La configuration de php-fpm.conf
impacte avant tout le comportement de PHP dans un environnement serveur web. Toute modification via l’UI de ServBay dans cette section prend le pas sur (remplace) le réglage correspondant du php.ini
, mais uniquement pour les requêtes web. Ces changements n’affectent pas l’exécution de PHP en ligne de commande (CLI).
Le service web de ServBay (Caddy ou Nginx) communique avec PHP via PHP-FPM. L’écran de configuration PHP-FPM vous permet de modifier des paramètres cruciaux pour la performance et la stabilité de l’environnement web, tels que :
- Gestion des processus (
pm
) : Contrôle la méthode de gestion des processus enfants PHP-FPM (par exemple,dynamic
,static
). - Nombre de processus (
pm.max_children
,pm.start_servers
, etc.) : Définit le nombre maximal de processus, le nombre de processus créés au démarrage, etc., ce qui influe sur la capacité de traitement en simultané. - Limite de mémoire (
memory_limit
) : Ce paramètre, défini ici, remplace la valeur duphp.ini
du même nom, uniquement pour les requêtes web. - Gestion et affichage des erreurs : Configure le chemin du journal des erreurs, le niveau des erreurs à enregistrer et si les erreurs doivent apparaître dans le navigateur.
Exemple : si vous souhaitez augmenter la limite de mémoire PHP en environnement web de la valeur par défaut (64M ou 128M par exemple) à 1G, sélectionnez simplement 1G
dans l’option memory_limit
de la section PHP-FPM de ServBay, puis sauvegardez. Cette modification concernera seulement les scripts PHP accessibles via le serveur web ; ceux exécutés en CLI seront toujours soumis à la valeur memory_limit
définie dans php.ini
.
Exemple comparatif : Si la directive memory_limit
vaut 512M
dans php.ini
, mais 128M
dans la configuration PHP-FPM :
- En CLI, la limite de mémoire sera
512M
. - Via le web, elle sera
128M
.
Configuration php.ini
Astuce
Les réglages du php.ini
sont globaux et s’appliquent tant à l’environnement CLI qu’à l’environnement web. Toutefois, les paramètres du même nom dans la configuration PHP-FPM remplacent ceux du php.ini
uniquement pour le contexte web.
La section de configuration PHP correspond aux directives principales du fichier php.ini
. On y retrouve de nombreux paramètres essentiels du runtime PHP, tels que :
post_max_size
: Limite la taille maximale de données envoyées via la méthode POST.upload_max_filesize
: Fixe la taille maximale autorisée pour l’upload de fichiers.date.timezone
: Définit le fuseau horaire par défaut de PHP.display_errors
/error_reporting
: Gère l’affichage et le niveau des erreurs à rapporter sur la page.max_execution_time
: Durée maximale d’exécution d’un script (en secondes).disable_functions
/disable_classes
: Permet de désactiver certaines fonctions ou classes PHP pour renforcer la sécurité.open_basedir
: Restreint les chemins du système de fichiers accessibles à PHP. Il est conseillé de regrouper vos projets dans le dossier racine des sites ServBay/Applications/ServBay/www
, ce qui facilite la configuration d’open_basedir
en évitant d’énumérer plusieurs chemins.
Vous pouvez modifier ces réglages courants du php.ini
directement depuis l’UI de ServBay.
Pour une description complète de tous les paramètres de configuration disponibles dans le php.ini
, consultez la documentation officielle : Configuration de l’exécution PHP.
Configuration des modules d’extension PHP
ServBay intègre de nombreux modules PHP usuels, couvrant la connexion aux bases de données, le cache, le debug, le support de frameworks, etc. L’interface ServBay simplifie l’activation ou la désactivation de ces extensions, ainsi que la configuration de leurs paramètres spécifiques.
Voici quelques-unes des extensions fréquemment supportées : xDebug
, OPcache
, ImageMagick
, Redis
, MongoDB
, Phalcon
, Swoole
, etc. ServBay prend également en charge de nombreux autres modules, pour les bases de données (MySQL, PostgreSQL, MongoDB), les files de messages, les systèmes de cache, etc.
Activer ou désactiver une extension PHP est très simple :
- Dans l’écran de configuration PHP de ServBay, rendez-vous dans l’onglet “Extensions” ou similaire.
- Repérez l’extension de votre choix (par exemple :
xdebug
). - Activez ou désactivez-la à l’aide du bouton-poussoir correspondant.
- Pour les modules disposant de réglages supplémentaires (comme
xDebug
), modifiez directement leurs paramètres (ex :xdebug.mode
,xdebug.client_port
, etc.). - Cliquez sur sauvegarder pour appliquer les changements.
Pour obtenir la liste complète et les détails de tous les modules d’extension PHP supportés par ServBay, consultez la documentation (voir Liste des modules PHP - pensez à vérifier la documentation la plus récente).
Comprendre la structure des fichiers de configuration PHP (modification manuelle non recommandée)
Bien qu’il soit vivement conseillé de passer par l’interface graphique, connaître la structure des fichiers de configuration sous-jacents aide à mieux comprendre le fonctionnement de PHP.
Les fichiers de configuration PHP générés par ServBay sont situés dans /Applications/ServBay/etc/php/<version>/
.
php.ini
: Fichier principal de configuration.php-fpm.conf
: Configuration du gestionnaire de processus PHP-FPM.conf.d/
: Contient les fichiers.ini
relatifs à chaque extension chargée.
Exemple de structure php.ini
Le fichier php.ini
utilise le format INI. Voici à quoi ressemblent quelques réglages usuels :
; Modifier la limite de mémoire
memory_limit = 256M
; Modifier la taille maximale d’un fichier uploadé
upload_max_filesize = 50M
post_max_size = 50M
; Modification du fuseau horaire
date.timezone = "Asia/Shanghai" ; Ou "UTC", "America/New_York", etc. à adapter à vos besoins
; Activer l’affichage des erreurs (à réserver au développement !)
display_errors = On
error_reporting = E_ALL
; Modifier le temps d’exécution maximal
max_execution_time = 300
; Limiter les chemins accessibles (exemple)
; open_basedir = /Applications/ServBay/www/:/tmp/
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Exemple de structure php-fpm.conf
Le fichier php-fpm.conf
comprend des paramètres globaux et ceux du pool de processus. ServBay configure généralement un pool par défaut appelé www
.
[global]
; Chemin du journal global des erreurs
error_log = /Applications/ServBay/logs/php/8.3/errors.log
[www]
; Adresse et port d’écoute, ou fichier socket
listen = /Applications/ServBay/tmp/php-cgi-8.3.sock
listen.backlog = -1
listen.allowed_clients = 127.0.0.1
; Utilisateur et groupe (ServBay fonctionne en général sous l’utilisateur courant)
; user = servbay-demo
; group = staff
; Mode de gestion des processus (static, dynamic, ondemand)
pm = dynamic
pm.max_children = 10 ; Nombre maximal de processus enfants
pm.start_servers = 2 ; Nombre de processus créés au démarrage
pm.min_spare_servers = 1 ; Nombre minimal de processus inactifs
pm.max_spare_servers = 6 ; Nombre maximal de processus inactifs
pm.max_requests = 1024 ; Nombre max de requêtes par processus avant redémarrage pour prévenir des fuites mémoire
; Activer le slowlog (requêtes dépassant request_slowlog_timeout seront enregistrées)
request_slowlog_timeout = 5s
slowlog = /Applications/ServBay/logs/php/8.3/slow.log
; Paramètres PHP surcharges (exemple)
; php_admin_value[memory_limit] = 128M
; php_admin_flag[display_errors] = on
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
Exemple de configuration de chargement de module (conf.d/)
Les fichiers .ini
dans le dossier conf.d/
servent à activer et paramétrer des extensions. Par exemple, le contenu possible de xdebug.ini
:
[Xdebug]
; Charger l’extension Xdebug
zend_extension = xdebug.so
; Modes de Xdebug (debug, develop, profile, trace, coverage)
xdebug.mode=debug,develop
; Méthode de démarrage du debug (yes, trigger, develop)
; yes : lancement systématique
; trigger : activation via certains paramètres (GET/POST/cookie)
; develop : uniquement pour l’aide au développement (stack trace, etc.)
xdebug.start_with_request=yes
; Hôte et port du client pour le debug IDE
xdebug.client_host=localhost
xdebug.client_port=39083
; Chemin du journal Xdebug
xdebug.log=/Applications/ServBay/logs/xdebug/8.3/xdebug.log
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Rappel important : même si vous pouvez localiser ces fichiers, il ne faut pas les éditer manuellement ! Toujours passer par l’interface ServBay.
Appliquer les modifications : redémarrer le service PHP
Une fois les réglages modifiés via l’UI, ServBay détectera et appliquera généralement les changements automatiquement. Dans certains cas, il peut être nécessaire de redémarrer explicitement le service PHP pour chaque version concernée.
Voici comment redémarrer le service PHP :
Redémarrage via l’interface ServBay
- Ouvrez la fenêtre principale de ServBay.
- Dans la barre latérale à gauche, cliquez sur Packages.
- Repérez la version PHP concernée par vos modifications.
- Cliquez sur le bouton redémarrer à côté de cette version PHP (symbolisé généralement par une flèche circulaire).
Redémarrage via l’outil en ligne de commande servbayctl
Les développeurs adeptes de la ligne de commande peuvent utiliser l’utilitaire servbayctl
offert par ServBay, notamment pour redémarrer une version précise de PHP.
Ouvrez le Terminal, puis lancez la commande suivante (remplacez 8.3
par la version PHP souhaitée) :
servbayctl restart php 8.3
Cette commande provoque le redémarrage du processus PHP-FPM pour la version indiquée, et vos réglages seront alors pris en compte.
Foire aux questions (FAQ)
Q : J’ai modifié manuellement le fichier
php.ini
mais ça ne fonctionne pas ou les modifications sont perdues ?- R : ServBay gère et recrée automatiquement les fichiers de configuration de ses paquets. Toute modification manuelle peut être écrasée lors d’une mise à jour, d’un redémarrage ou d’autres opérations internes. Utilisez impérativement l’interface ServBay pour modifier la configuration PHP – c’est la méthode recommandée et durable.
Q : Comment augmenter la limite de mémoire PHP ou la taille d’upload autorisée ?
- R : Ouvrez l’UI ServBay, allez dans Langages -> sélectionnez votre version de PHP. Dans la section PHP-FPM, modifiez
memory_limit
(effet sur le web). Dans la section php.ini, modifiezupload_max_filesize
etpost_max_size
(effet global, les valeurs web pouvant être écrasées par FPM). Sauvegardez, puis redémarrez le service PHP.
- R : Ouvrez l’UI ServBay, allez dans Langages -> sélectionnez votre version de PHP. Dans la section PHP-FPM, modifiez
Q : Comment activer/configurer Xdebug ?
- R : Depuis l’UI ServBay, allez dans Langages puis choisissez votre version de PHP. Dans la section Extensions, activez
xdebug
et ajustez les paramètres nécessaires (xdebug.mode
,xdebug.client_host
,xdebug.client_port
, etc.) selon vos besoins et votre IDE. Sauvegardez, puis redémarrez PHP.
- R : Depuis l’UI ServBay, allez dans Langages puis choisissez votre version de PHP. Dans la section Extensions, activez
Q : Quelle est la différence entre la config
php.ini
et celle de PHP-FPM ? Laquelle modifier ?- R :
php.ini
est le fichier de configuration principal de PHP affectant le CLI et le web. La configuration PHP-FPM (php-fpm.conf
) s’applique uniquement à l’exécution sur serveur web, et ses options du même nom remplacent celles dephp.ini
. Pour les réglages impactant l’environnement web (limite de mémoire, temps d’exécution, affichage des erreurs), regardez prioritairement la config PHP-FPM ; pour tout ce qui est général ou CLI (fuseau horaire, fonctions désactivées…), modifiez lephp.ini
. L’UI de ServBay sépare ces réglages de façon claire.
- R :
Conclusion
ServBay offre, via son interface utilisateur, un moyen sûr et intuitif de gérer tous les aspects de la configuration PHP, incluant php.ini
, PHP-FPM et la gestion des extensions. Modifier vos réglages via l’UI, sauvegarder puis redémarrer le service PHP, vous assure un environnement de développement adapté à vos besoins. Même si la connaissance de la localisation des fichiers reste utile, effectuez toujours vos modifications via l’UI ServBay pour éviter tout écrasement par une opération système. Tirez parti de la puissance de configuration de ServBay et créez l’environnement PHP idéal pour chacun de vos projets !