Existe-t-il un moyen de vérifier si PHP est installé sur un serveur Apache ou IIS dans l’environnement PHP lui-même)?
Si c'est le cas, comment?
créez un fichier (disons info.php) avec le contenu suivant sur un chemin accessible et essayez de le parcourir:
<?php
phpinfo();
?>
@Alfabravo est correct: n'oubliez pas de supprimer le fichier du serveur après l'avoir utilisé!
Créez un script PHP appelé php.php avec le contenu:
<?php
phpinfo();
?>
et exécutez-le à partir de votre navigateur. Ou à partir de la ligne de commande, exécutez:
php -v
Je ne sais pas avec quelle version PHP version elle est devenue disponible, mais essayez ceci:
if( strpos( $_SERVER['SERVER_SOFTWARE'], 'Apache') !== false)
echo 'Have Apache';
else
echo 'Have some other server';
La réponse pratiquement la plus définitive possible (il existe d'autres possibilités similaires) est:
function on_iis() {
$sSoftware = strtolower( $_SERVER["SERVER_SOFTWARE"] );
if ( strpos($sSoftware, "Microsoft-iis") !== false )
return true;
else
return false;
}
Maintenant, utilisez simplement on_iis()
quand vous voulez savoir.
Vous pouvez également le découvrir via $ _SERVER ['DOCUMENT_ROOT'], en quelque sorte:
Lire http://www.helicron.net/php/
(Fondamentalement, selon l'article, Apache définit la racine du document avec une variable valide, et IIS ne le fait pas).