Vous êtes ici : Accueil / Debian GNU/Linux / Serveurs / PHP / Gérer la configuration PHP en ligne de commande sur Debian

Gérer la configuration PHP en ligne de commande sur Debian

Par Pierre-Yves Landuré Dernière modification 15/11/2017 06:43

Limite mémoire, taille des fichiers déposés, gestion des guillemets, ... sont autant de paramètres de configuration de PHP dont la modification est demandée par diverses applications Web lors de leur installation. Ce guide propose la mise en place d'un script en ligne de commande permettant la modification sans conflit de la configuration PHP.

Ce guide est testé sur:

  • Debian 6.0 Squeeze
  • Debian 7.0 Wheezy
  • Debian 8.0 Jessie
  • Debian 9.0 Stretch
  • Ubuntu 17.10 Artful Aardvaark

Prérequis

Ce guide recommande:

Installation

Détectez le proxy de commande (command ou sudo):

cmdProxy='command'
command type -f 'sudo' &>'/dev/null' && cmdProxy='sudo'

Détectez le nom des paquets PHP disponibles:

phpVersion='5'
if [ -n "$(command apt-cache pkgnames php-cli)" ]; then
phpVersion=''
fi

Déterminez l'utilisateur pour l'installation d'applications Web PHP:

projectUser='phpapp'

Déterminez le répertoire principal de l'utilisateur pour l'installation d'applications PHP:

projectUserHome="/var/lib/${projectUser}"

Préparation de l'environnement

Installez les logiciels nécessaires:

${cmdProxy} apt-get install php${phpVersion}-cli

Créez un utilisateur système dédié à l'installation d'applications Web PHP:

${cmdProxy} adduser --system --disabled-password --group --home "${projectUserHome}" "${projectUser}"

Mise en place de l'outil

Installez le script php-tools permettant la gestion de la configuration PHP:

${cmdProxy} wget 'https://raw.github.com/biapy/howto.biapy.com/master/php5/php-tools' \
    --quiet --no-check-certificate --output-document='/usr/local/bin/php-tools'
${cmdProxy} chmod +x '/usr/local/bin/php-tools'

Utilisation

Obtenir la valeur actuelle d'une option de configuration PHP:

# sudo php-tools --get 'post_max_size'

Analyser la configuration d'une option PHP:

# sudo php-tools --analyze 'post_max_size'

Forcer la valeur d'une option PHP (ici, force l'option post_max_size à 5Mo):

# sudo php-tools --fix 'post_max_size' '5M'

Augmenter la valeur d'une option PHP si nécessaire (ici, règle post_max_size à 10Mo si la valeur précédente n'est pas supérieure):

# sudo php-tools --set 'post_max_size' '10M'

Les réglages mis en place par la commande php-tools sont placés dans les fichiers "/etc/php5/conf.d/zzz-php-tools.ini" ou '/etc/php/7.0/mods-available/zzz-php-tools.ini' suivant la version de PHP disponible.