Cette traduction automatique est fournie pour votre commodité.
En cas d'incohérence entre la version anglaise et la version traduite, la version anglaise prévaudra. Veuillez visiter cette page pour plus d'informations.
La plupart des variables de configuration de l'agent PHP peuvent être définies pour chaque répertoire. Cette option est souvent utilisée lorsqu'il existe un seul serveur Web servant plusieurs applications et que vous souhaitez ajuster les paramètres (par exemple, le nom de l'application) applicationparapplication .
Le processus de définition des valeurs par répertoire dépend de l’environnement. Ce document décrit les trois environnements les plus courants :
Lors de l'utilisation du module PHP, Apache fournit deux mécanismes pour définir des variables PHP en dehors du fichier INI :
Utilisez la syntaxe des exemples de fichiers INI lorsque votre serveur Web gère plusieurs domaines. Pour visualiser chacun de ces domaines séparément dans New Relic:
Pour votre domaine principal, définissez newrelic.appname = "My Main Domain" dans votre fichier INI global.
Remplacez la valeur de chacun des hôtes virtuels en ajoutant des entrées php_value dans le cadre de votre configuration d’hôte virtuel.
Important
Assurez-vous d'utiliser le nom de module approprié pour votre installation PHP. Remplacez PHP_MODULE dans les exemples ci-dessous par le nom du module PHP5 installé. Ce nom dépend de la distribution Linux et/ou PHP utilisée. Par exemple, les noms communs incluent php5_module, mod_php5, php_module, etc. L'utilisation des majuscules peut varier.
Pour les serveurs Apache, vous pouvez trouver les noms de modules de l’une des manières suivantes. Chacun générera une liste des modules installés.
Depuis la ligne de commande, exécutez :
bash
$
apachectl -t-D DUMP_MODULES
OR
Depuis une page Web, utilisez :
<?php
print_r(apache_get_modules());
?>
Voici un exemple de séparation de domaine, où PHP_MODULE est le nom de votre module PHP5.
<VirtualHost 192.168.42.43>
ServerName www.myvhost1.com
DocumentRoot"/path/to/vhost1/"
...
<IfModule PHP_MODULE>
php_value newrelic.appname "Virtual Host 1"
</IfModule>
</VirtualHost>
<VirtualHost 192.168.123.45>
ServerName www.myvhost2.com
DocumentRoot"/path/to/vhost2/"
...
<IfModule PHP_MODULE>
php_value newrelic.appname "Virtual Host 2"
</IfModule>
</VirtualHost>
Dans l’exemple ci-dessus, newrelic.appname est défini sur une valeur différente pour chaque hôte virtuel.
Pour les valeurs de chaîne et de nombre, utilisez php_value name VALUE, où :
name est le nom du paramètre INI à modifier tel que répertorié dans les paramètres INI PHP.
VALUE est la valeur que vous souhaitez définir pour cet hôte virtuel particulier.
Assurez-vous d'entourer les valeurs de chaîne entre guillemets ".
Si vous souhaitez modifier un paramètre booléen, utilisez la syntaxe php_flag name VALUE, où name est le nom de la variable tel qu'indiqué dans les paramètres PHP INI et VALUE est soit on soit off.
Pour désactiver complètement l’agent New Relic pour un hôte virtuel, utilisez un indicateur booléen :
<VirtualHost 192.168.56.78>
ServerName www.myvhost3.com
DocumentRoot"/path/to/vhost3/"
...
<IfModule PHP_MODULE>
php_flag newrelic.enabled off
</IfModule>
</VirtualHost>
Utilisez la syntaxe des exemples de fichiers INI dans un fichier .htaccess . Par exemple:
php_value newrelic.appname "My Blog App"
Cela vous permet de contrôler les paramètres de chaque répertoire à partir des répertoires.
Dans cet exemple, la racine de votre document sur votre serveur Web se trouve à /data/webroot. Vous disposez également de deux sous-répertoires pour les applications spécialisées :
Votre /data/webroot/blog contient une application de blog.
Votre /data/webroot/shop contient une application de panier d'achat.
Pour que les trois parties de votre site soient signalées comme des applications distinctes dans l'UI New Relic :
Définissez le nom de votre application principale dans votre fichier INI.
Remplacez ce nom en utilisant un fichier .htaccess dans chacun des répertoires spécialisés.
Toute partie de votre serveur Web (par exemple, /data/webroot/something) qui ne possède pas de fichier .htaccess spécifique utilisera le nom d'application global défini dans le fichier INI.
Important
Le fichier .htaccess doit se trouver dans le répertoire de niveau supérieur de cette application. Les objets de ce répertoire, ou de ses sous-répertoires, utiliseront la valeur spécifiée dans le fichier .htaccess .
Le gestionnaire de processus FastCGI (PHP-FPM) est dédié à PHP. Il génère un certain nombre de processus de travail qui attendent requests. Il augmente les performances en ne réinitialisant pas le moteur PHP à chaque invocation, permettant à chaque processus de traiter un certain nombre de requests avant de recycler.
Lors de l'utilisation de PHP-FPM, il existe deux mécanismes pour définir des variables PHP en dehors du fichier INI et une technique spéciale pour NGINX:
Important
La modification des variables par répertoire peut être plus difficile si vous utilisez PHP-FPM. Vous devez utiliser plusieurs pools PHP-FPM, un pour chaque hôte virtuel ou application unique.
Un pool est un ensemble dédié d'enfants travailleurs qui traiteront uniquement requests pour ce pool. Parce qu'il nécessite des enfants travailleurs dédiés, PHP-FPM évolue mal si vous avez un grand nombre d'hôtes virtuels ou d'applications pour lesquels vous souhaitez définir des options individuelles.
Pour configurer PHP-FPM répertoire par répertoire :
Définissez le nom de l'application principale dans le fichier INI.
Configurez deux pools pour les deux applications supplémentaires.
Remplacez le paramètre de nom d’application dans ces pools.
Chaque pool doit avoir un mécanisme de connexion unique (afin que vous puissiez identifier quel pool utiliser dans votre fichier de configuration de serveur Web). Voici un exemple de php-fpm.conf:
[app1]
listen=/tmp/pool-app1.sock
php_value[newrelic.appname]="My App 1"
[app2]
listen=/tmp/pool-app2.sock
php_value[newrelic.appname]="My App 2"
[app3]
listen=/tmp/pool-app3.sock
php_flag[newrelic.enabled]=off
Le format général des paramètres de variable par pool est php_value[name] = VALUE pour les variables de chaîne ou numériques, ou php_flag[name] = VALUE pour les valeurs booléennes. Entourez toujours les valeurs de chaîne avec des guillemets ". Les valeurs booléennes doivent être soit on soit off.
Une fois le fichier de configuration configuré, le serveur Web doit être informé de l'utilisation des différents pools pour différentes parties du site Web. Pour plus d'informations, reportez-vous à la documentation de votre serveur Web.
Vous pouvez utiliser la syntaxe de l'exemple de fichier INI pour CGI/FastCGI dans un fichier .user.ini . Ceci est similaire à un fichier .htaccess pour Apache mais est unique à PHP-FPM. Le répertoire dans lequel PHP est exécuté est analysé à la recherche d'un fichier .user.ini . Plus d'informations sur cette fonctionnalité sont disponibles dans la documentation des fichiers PHP user.ini.
Modifiez le nom de l'application en suivant les étapes suivantes dans le répertoire racine de la page Web.
Créer le fichier .user.ini
Ajoutez le paramètre que vous souhaitez modifier\
newrelic.appname = "New Appname"
Sauvegarder le fichier.
Par défaut, le .user.ini file est lu toutes les cinq minutes, donc aucun redémarrage n'est nécessaire
Ceci est utile dans les scénarios suivants :
La configuration du serveur ne fonctionne pas. Dans la configuration NGINX/PHP-FPM, il peut y avoir un manque de communication entre FastCGI et PHP et les informations de\
fastcgi_param PHP_VALUE newrelic.appname="Appname"\
n'atteint jamais PHP.
Le .htaccess ne fonctionne pas, par exemple lorsque PHP est implémenté avec suPHP
Important
Cette section s'applique uniquement à PHP 5.3.3 ou supérieur.
Voici un petit fragment d'un fichier de configuration NGINX montrant la procédure générale pour transmettre des valeurs à votre gestionnaire FastCGI en fonction d'un emplacement NGINX.
Bien que nous recommandions de modifier le nom de l'application avec des paramètres INI globaux ou par répertoire, dans certains cas, cela peut ne pas être possible. Par exemple, les limitations du fournisseur peuvent vous empêcher de modifier les fichiers de configuration.
Avant de commencer, nous vous recommandons de lire les directives d'appel d'API pour newrelic_set_appname() afin de garantir la capture la plus complète de la trace de transaction attribuée au nom de votre application .
Si vous n'avez pas accès au code de votre application, ou si vous devez isoler votre application sur ses propres hôtes virtuels pour d'autres raisons, utilisez les paramètres par répertoire suivants pour remplacer les paramètres du fichierconfiguration .
Noms application de cumul
Si vous souhaitez avoir une vue d'ensemble des performances du serveur sur tous les hôtes virtuels ou toutes les applications, il est pratique de pouvoir générer des rapports sur plusieurs application à la fois. Par exemple, signalez une application spécifique à un hôte virtuel ainsi qu'une application de cumul.
Pour ce faire, définissez plusieurs noms d’application pour le paramètre newrelic.appname en séparant chaque nom d’application par un point-virgule. Le nom de application principale est le premier, suivi des noms application secondaires. Vous pouvez définir jusqu'à deux noms d'application supplémentaires.