La page HTML Index est automatiquement créée lors de la création du virtualhost. Elle permet d'exécuter directement tous les modules PHP définis dans le dossier attitré. Par exemple le module défini par la ligne:
J'ai copié/collé le code de cette page et je constate qu'au lieu d'exécuter le module PHP, elle fait apparaître le code PHP lui-même.
Je voudrais comprendre le statut particulier de la page Index et surtout comment forcer l'exécution d'un module PHP dans une page HTML quelconque. Merci.
> La page HTML Index est automatiquement créée lors de la création du virtualhost. NON. La création d'un VirtualHost via 'http://localhost/add_vhost.php' ne crée jamais de page index !
Le code montré dans votre exemple est du html et ne contient aucun code PHP.
Pour être exécuté automatiquement lors d'un appel à un dossier, par exemple 'http://monsite/mondossier/' le fichier doit être nommé index.php et contenir du code php.
Pour que le code PHP soit exécuter dans une page quelconque, celle-ci doit avoir l'extension .php.
------------------------------------------------------------------------------------------------------------ Wampserver 3.3.0 32 bit - Apache 2.4.54.2 - PHP 8.2.4…7.4.33 - MySQL 5.7.40 - MariaDB 10.5.13/10.6.5 Wampserver 3.3.0 64 bit - Apache 2.4.54.2 - PHP 8.2.4…7.4.33 - MySQL 5.7.40/8.0.31 - MariaDB 10.5.17/10.10.2 PhPMyadmin 5.2.1 - MysqlDumper 1.24.5 on W10 Pro 64 bit Documentation Apache - Documentation PHP - Documentation MySQL - Wampserver install files & addons « Ce n'est pas parce qu'ils sont nombreux à avoir tort, qu'ils ont forcément raison. Coluche » « It's not because they are many to be wrong, they are necessarily right. Coluche »
Je n'ai personnellement pas créé cette page html. Alors comment est-elle généréé? Je vous en ai donné seulement un extrait. En voici un autre extrait à partir de l'entête:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> <html> <head> <title>Index of /</title> </head> <body> <h1>Index of /</h1> <table> <tr><th valign="top"><img src="/icons/blank.gif" alt="[ICO]"></th><th><a href="?C=N;O=D">Name</a></th><th><a href="?C=M;O=A">Last modified</a></th><th><a href="?C=S;O=A">Size</a></th><th><a href="?C=D;O=A">Description</a></th></tr> <tr><th colspan="5"><hr></th></tr> <tr><td valign="top"><img src="/icons/unknown.gif" alt="[ ]"></td><td><a href="Create_Picsbruit_Temp.php">Create_Picsbruit_Tem..></a></td><td align="right">2022-07-21 00:18 </td><td align="right">1.0K</td><td> </td></tr> <tr><td valign="top"><img src="/icons/unknown.gif" alt="[ ]"></td><td><a href="Create_Stationbruit.php">Create_Stationbruit.php</a></td><td align="right">2022-07-26 15:46 </td><td align="right">1.8K</td><td> </td></tr>
Se retrouve automatiquement dans cette table tous les modules PHP que je crée dans mon répertoire de référence et c'est par là que j'exécute mes modules PHP (exemple: <a href="Create_Picsbruit_Temp.php">Create_Picsbruit_Tem..></a> dans l'extrait ci-dessus).
Comme je disais dans mon premier message, je fais un copier/coller de cette page HTML mais les modules PHP ne s'exécutent plus. Comment faire pour les exécuter dans une page HTML autre que ce mystérieux Index?
Il s'agit d'une page générée automatiquement par Apache s'il n'y a pas de fichier index.php dans le dossier et si l'option +Indexes est validée dans la définition du VirtualHost.
Pour exécuter vos « modules PHP » il suffit de créer une page index.php avec dedans les liens idoines sur lesdits modules.
------------------------------------------------------------------------------------------------------------ Wampserver 3.3.0 32 bit - Apache 2.4.54.2 - PHP 8.2.4…7.4.33 - MySQL 5.7.40 - MariaDB 10.5.13/10.6.5 Wampserver 3.3.0 64 bit - Apache 2.4.54.2 - PHP 8.2.4…7.4.33 - MySQL 5.7.40/8.0.31 - MariaDB 10.5.17/10.10.2 PhPMyadmin 5.2.1 - MysqlDumper 1.24.5 on W10 Pro 64 bit Documentation Apache - Documentation PHP - Documentation MySQL - Wampserver install files & addons « Ce n'est pas parce qu'ils sont nombreux à avoir tort, qu'ils ont forcément raison. Coluche » « It's not because they are many to be wrong, they are necessarily right. Coluche »
Selon plusieurs avis du forum StackOverfow [stackoverflow.com] il faut configurer la section <IfModule dir_module> du fichier Apache HTTP server configuration file en y ajoutant index.php. Or mon fichier est déjà configuré comme suit, incluant index.php:
L'ordre dans lequel ils sont donnés a-t-il de l'importance? Question: ces index sont-ils des dossiers à par entiére? Où puis-je voir chacun de ces index? J'essaye d'explorer encore la doc mais si vous avez une idée je suis preneur. Cordialement.
index.php doit être un fichier que vous pouvez mettre n'importe où.
Soit le fichier c:\www\mondossier\index.php
Si vous déclarez un VirtualHost avec comme ServerName MonSite et comme DocumentRoot et Directory c:\www\mondossier\, lorsuqe vous le lancerez par 'http://MonSite/' le fichier index.php sera exécuté.
------------------------------------------------------------------------------------------------------------ Wampserver 3.3.0 32 bit - Apache 2.4.54.2 - PHP 8.2.4…7.4.33 - MySQL 5.7.40 - MariaDB 10.5.13/10.6.5 Wampserver 3.3.0 64 bit - Apache 2.4.54.2 - PHP 8.2.4…7.4.33 - MySQL 5.7.40/8.0.31 - MariaDB 10.5.17/10.10.2 PhPMyadmin 5.2.1 - MysqlDumper 1.24.5 on W10 Pro 64 bit Documentation Apache - Documentation PHP - Documentation MySQL - Wampserver install files & addons « Ce n'est pas parce qu'ils sont nombreux à avoir tort, qu'ils ont forcément raison. Coluche » « It's not because they are many to be wrong, they are necessarily right. Coluche »
Ce peut être la page d'amorce, ce peut-être quatre lignes php qui appellent une autre page, ce peut être LA page du site comme par exemple index.php qui est la page d'accueil de Wampserver.
C'est ce que vous voulez. La seule chose à savoir c'est que index.php sera exécuté si on ne demande aucun autre script PHP dans l'url.
------------------------------------------------------------------------------------------------------------ Wampserver 3.3.0 32 bit - Apache 2.4.54.2 - PHP 8.2.4…7.4.33 - MySQL 5.7.40 - MariaDB 10.5.13/10.6.5 Wampserver 3.3.0 64 bit - Apache 2.4.54.2 - PHP 8.2.4…7.4.33 - MySQL 5.7.40/8.0.31 - MariaDB 10.5.17/10.10.2 PhPMyadmin 5.2.1 - MysqlDumper 1.24.5 on W10 Pro 64 bit Documentation Apache - Documentation PHP - Documentation MySQL - Wampserver install files & addons « Ce n'est pas parce qu'ils sont nombreux à avoir tort, qu'ils ont forcément raison. Coluche » « It's not because they are many to be wrong, they are necessarily right. Coluche »