APACHE_GET_MODULES |
Demande les modules Apache |
---|---|
PHP 4.3.2+ |
Syntaxe
function apache_get_modules() |
Retour
Valeur | Description |
---|---|
Tableau | Cette valeur contient une liste des modules Apache chargés. |
Description
Cette fonction permet de demander la liste des modules Apache chargés en mémoire.
Algorithme
MODULE APACHE_GET_MODULES() Vérifier si le script PHP est exécuté dans un serveur Apache SI ce n'est pas un serveur Apache ALORS Retourner une erreur ou un tableau vide SINON Récupérer la liste des modules Apache actuellement chargés Retourner la liste des modules sous forme de tableau FIN SI |
Remarques
- Liste des modules chargés par Apache : La fonction apache_get_modules retourne un tableau indexé contenant les noms des modules actuellement activés sur le serveur Apache. Cela permet aux développeurs de vérifier dynamiquement quels modules sont disponibles pour traiter des fonctionnalités spécifiques, comme mod_rewrite ou mod_ssl.
- Exclusivité à Apache avec mod_php : Cette fonction est disponible uniquement lorsque PHP est exécuté en tant que module Apache (mod_php). Elle ne fonctionne pas dans les environnements comme PHP-FPM, CGI ou sous des serveurs Web comme Nginx, car ils ne permettent pas à PHP d'interagir directement avec les modules Apache.
- Utilité pour les scripts dynamiques : apache_get_modules est souvent utilisée dans des scripts PHP pour vérifier la présence de modules nécessaires avant d'exécuter certaines tâches. Par exemple, un CMS peut vérifier si mod_rewrite est activé avant de configurer des URLs conviviales.
- Inutile en production bien configurée : Dans un environnement de production bien géré, les modules requis sont souvent explicitement listés et configurés par les administrateurs système. Ainsi, cette fonction est davantage utilisée dans des environnements de développement ou pour des diagnostics.
- Dépendance au serveur hôte : Puisque la fonction dépend d'Apache, elle ne garantit pas une portabilité complète. Les applications multi-plateformes doivent fournir des alternatives pour les serveurs non Apache ou utiliser des vérifications conditionnelles avant d'appeler cette fonction.
- Équivalent à la commande Apache : L'utilisation de cette fonction en PHP revient à exécuter la commande apachectl -M ou httpd -M en ligne de commande, listant les modules chargés par Apache. Cependant, apache_get_modules offre une solution programmatique directement utilisable dans le code PHP.
- Performance et impact : La fonction apache_get_modules a un impact minime sur les performances, car elle utilise les informations déjà chargées par le serveur Apache. Cependant, il est déconseillé de l'utiliser de manière répétitive dans un même script, car cela peut entraîner une surcharge inutile.
- Non accessible sur certains environnements : Si PHP n'est pas configuré correctement avec Apache, ou si Apache est exécuté dans un mode non compatible, apache_get_modules peut ne pas être disponible. Cela peut générer des erreurs, et il est recommandé d'utiliser function_exists('apache_get_modules') pour vérifier sa disponibilité avant son appel.
Exemple
Voici un exemple montrant l'utilisation de cette fonction :
- <?php
- echo "Voici la liste des modules fonctionnant sous Apache actuellement : <br />";
- var_dump(apache_get_modules());
- ?>
on obtiendra un résultat ressemblant à ceci :
Voici la liste des modules fonctionnant sous Apache actuellement :array(29) { [0]=> string(4) "core" [1]=> string(9) "mod_win32" [2]=> string(9) "mpm_winnt" [3]=> string(9) "http_core" [4]=> string(6) "mod_so" [5]=> string(11) "mod_actions" [6]=> string(9) "mod_alias" [7]=> string(8) "mod_asis" [8]=> string(14) "mod_auth_basic" [9]=> string(17) "mod_authn_default" [10]=> string(14) "mod_authn_file" [11]=> string(17) "mod_authz_default" [12]=> string(19) "mod_authz_groupfile" [13]=> string(14) "mod_authz_host" [14]=> string(14) "mod_authz_user" [15]=> string(13) "mod_autoindex" [16]=> string(7) "mod_cgi" [17]=> string(7) "mod_dir" [18]=> string(7) "mod_env" [19]=> string(11) "mod_expires" [20]=> string(11) "mod_headers" [21]=> string(11) "mod_include" [22]=> string(9) "mod_isapi" [23]=> string(14) "mod_log_config" [24]=> string(8) "mod_mime" [25]=> string(15) "mod_negotiation" [26]=> string(11) "mod_rewrite" [27]=> string(12) "mod_setenvif" [28]=> string(8) "mod_php5" }
Voir également
Serveur ou service logiciel - Apache - Introduction
Index des extensions de fichier - Format de fichier : httpd.conf
Index des extensions de fichier - Format de fichier : .htaccess
Index des extensions de fichier - Format de fichier : .htpasswd
Dernière mise à jour : Dimanche, le 22 mars 2015