Vous êtes ici : Accueil / Debian GNU/Linux / Serveurs / PHP / Améliorer la configuration initiale de PHP sur Debian

Améliorer la configuration initiale de PHP sur Debian

Par Pierre-Yves Landuré Dernière modification 16/08/2018 12:57

La configuration initiale de PHP proposée par Debian est très bien réalisée. Cet article présente quelques ajustements l'améliorant encore.

Ce guide est testé sur:

  • Debian 7.0 Wheezy
  • Debian 8.0 Jessie
  • Debian 9.0 Stretch
  • Ubuntu 13.10 Saucy Salamander
  • Ubuntu 16.04 Xenial Xerus
  • Ubuntu 17.10 Artful Aardvark

Prérequis

Ce guide nécessite:

Configuration

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

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

Durcissez la sécurité du serveur:

${cmdProxy} php-tools --add-mod --mod-priority=50 --mod-name='security-hardened' \
    --mod-settings='; Harden PHP5 security
; Disable PHP exposure
expose_php = Off

;Dangerous : disable system functions. This can break some administration softwares.
;disable_functions = symlink,shell_exec,exec,proc_close,proc_open,popen,system,dl,passthru,escapeshellarg,escapeshellcmd'

Configurez l'UTF-8 comme codage de caractères par défaut pour l'extension mbstring (intégrée de base dans la version PHP5 fournie par Debian):

${cmdProxy} php-tools --add-mod --mod-priority=50 --mod-name='mbstring-config' \
    --mod-settings='; Set mbstring defaults to UTF-8
mbstring.language=UTF-8
mbstring.internal_encoding=UTF-8
mbstring.http_input=UTF-8
mbstring.http_output=UTF-8
mbstring.detect_order=auto'

Configurez la zone horaire de PHP:

${cmdProxy} php-tools --add-mod --mod-priority=50 --mod-name='timezone' \
    --mod-settings="; PHP settings for strtotime ; priority=50
date.timezone = \"$(command cat /etc/timezone)\""

Rechargez la configuration:

${cmdProxy} php-tools --reload

Remerciements