Vous êtes ici : Accueil / Debian GNU/Linux / Serveurs / PHP / Installer l'extension PHP Pinba sur Debian

Installer l'extension PHP Pinba sur Debian

Par Pierre-Yves Landuré Dernière modification 16/08/2018 11:03

Pinba est une extension PHP collectant des informations sur les performances des applications hébergées sur le serveur l'utilisant.

Ce guide est testé sur:

  • Debian 7.0 Wheezy
  • Debian 9.0 Stretch

Prérequis

Ce guide nécessite:

Paramètres

Renseignez le nom d'hôte du serveur MySQL:

mysqlHost="localhost"

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étectez les versions logicielles disponibles:

libprotobufLite='libprotobuf-lite7'
[ -n "$(command apt-cache pkgnames 'libprotobuf-lite10')" ] && libprotobufLite='libprotobuf-lite10'
libprotobuf='libprotobuf7'
[ -n "$(command apt-cache pkgnames 'libprotobuf10')" ] && libprotobuf='libprotobuf10'

Détectez le chemin des fichiers de configuration des extensions PHP:

modsConfPath='/etc/php5/conf.d'
test -d '/etc/php5/mods-available' \
  && modsConfPath='/etc/php5/mods-available'

Préparation de l'environnement

Installez les logiciels nécessaires:

${cmdProxy} apt-get install build-essential libprotobuf-dev "${libprotobufLite}" \
"${libprotobuf}" protobuf-compiler "php${phpVersion}-dev" re2c dnsutils

Mise en place du logiciel

Téléchargez les sources du logiciel:

command git clone 'https://github.com/tony2001/pinba_extension' '/tmp/pinba_extension'

Placez-vous dans le dossier des sources:

command pushd '/tmp/pinba_extension'

Préparez la compilation de l'extension PHP:

command phpize

Configurez les sources:

./configure

Compilez l'extension:

command make

Installez l'extension:

${cmdProxy} make install

Quittez le dossier des sources:

command popd

Supprimez les sources:

command rm -r '/tmp/pinba_extension'

Configuration de l'extension

Obtenez l'adresse IP de l'hôte MySQL:

mysqlIp="$(command dig +short "${mysqlHost}")"
[[ -z "${mysqlIp}" ]] && mysqlIp="$(command getent hosts "${mysqlHost}" \
| command cut --delimiter=' ' --fields=1)"

Activez l'extension dans PHP:

${cmdProxy} php-tools --add-mod --mod-priority=20 --mod-name='pinba' \
    --mod-settings='; loading of php Pinba module
extension=pinba.so'

Configurez PHP pour utiliser l'extension:

${cmdProxy} php-tools --add-mod --mod-priority=50 --mod-name='pinba-config' \
    --mod-settings="; configuration for php Pinba module
pinba.enabled=1
pinba.server=${mysqlIp}:30002"

Configurez PHP pour informer Pinba de l'URL servie:

${cmdProxy} php-tools --add-auto-prepend="// Inform pinba extension of request URI.
if (isset(\$_SERVER['REQUEST_URI']) && function_exists('pinba_script_name_set'))
pinba_script_name_set(\$_SERVER['REQUEST_URI']);"

Rechargez la configuration de PHP:

${cmdProxy} php-tools --reload

Finalisation

Ce guide recommande:

Remerciements