web-dev-qa-db-fra.com

Comment faire en sorte que Apache serve index.php au lieu de index.html?

Si je mets la ligne suivante dans un index.html fichier, pour que Apache inclue le fichier index.php fichier:

  <?php include("/Live/ls_client/index.php"); ?>    

visiter le index.html page me montre ceci:

<!--?php include("/Live/ls_client/index.php"); ?-->

Pourquoi donc? Pourquoi ne comprend-il pas réellement le fichier PHP?

35
Adam Wojda

Comme d’autres l’ont noté, vous n’avez probablement pas .html mis en place pour gérer le code php.

Cela dit, si tout ce que vous faites utilise index.html inclure index.php, votre question devrait probablement être "comment utiliser index.php comme document index?

Dans ce cas, pour Apache (httpd.conf), recherchez DirectoryIndex et remplacez la ligne par ceci (ne fonctionnera que si vous avez dir_module activé, mais c'est la valeur par défaut sur la plupart des installations):

DirectoryIndex index.php

Si vous utilisez d’autres index de répertoires, listez-les par ordre de préférence, i.e.

DirectoryIndex index.php index.phtml index.html index.htm
65
Glitch Desire

À partir d'aujourd'hui (1er août 2015), Apache2 dans Debian Jessie, vous devez éditer:

root@Host:/etc/Apache2/mods-enabled$ vi dir.conf 

Et changez l'ordre de cette ligne, en mettant index.php à la première position:

DirectoryIndex index.php index.html index.cgi index.pl index.xhtml index.htm
15
Dr Beco

PHP ne fonctionnera que sur le .php extension de fichier.

Si vous êtes sur Apache, vous pouvez également définir, dans votre httpd.conf fichier, les extensions pour PHP. Vous devrez trouver la ligne:

AddType application/x-httpd-php .php .html
                                     ^^^^^

et ajoutez combien d'extensions, qui devraient être lues avec l'interprète PHP, comme vous le souhaitez).

7
Shoe