Je ne peux pas utiliser PHP dans mes pages HTML. Par exemple index.html
,. J'ai essayé d'utiliser les deux:
<? contents ?>
et
<?php contents ?>
Aucun de ces travaux. Mon serveur propose PHP, et lorsque j'utilise une .php
extension, cela fonctionne correctement. Est-ce un problème ou dois-je modifier les préférences dans php.ini
?
Réponses:
Vous ne pouvez pas exécuter PHP dans des fichiers .html car le serveur ne reconnaît pas cela comme une extension PHP valide à moins que vous ne le lui disiez. Pour ce faire, vous devez créer un fichier .htaccess dans votre répertoire Web racine et y ajouter cette ligne:
Cela indiquera à Apache de traiter les fichiers avec une extension de fichier .htm ou .html en tant que fichiers PHP.
la source
.htaccess
si c'est une option..html
fichiers comme PHP n'est même pas nécessaire, ni utile, pour le suivre. Vous voulez que les utilisateurs visitentexample.com/foo
. Vous pouvez utiliser cette URL pour diffuser du contenu PHP quels que soient les noms de fichiers sur votre serveur. Si les utilisateurs ont déjàfoo.html
ajouté un signet, vous pouvez toujours diffuserfoo.php
sans renommer le fichier.Je pense qu'écrire PHP dans un fichier .html est déroutant et anti-naturel. Pourquoi ferais-tu ça??
Quoi qu'il en soit, si vous voulez exécuter des fichiers PHP et les afficher en .html dans la barre d'adresse, une solution plus simple serait d'utiliser .php comme d'habitude, et d'écrire une règle dans votre .htaccess comme ceci:
la source
Afin d'utiliser php dans les fichiers .html, vous devez les associer à votre processeur PHP dans le fichier de configuration de votre serveur HTTP. Dans Apache, cela ressemble à ceci:
la source
AddHandler
etAddType
? Merci.Vous pouvez modifier .htaccess comme d'autres l'ont dit, mais la solution la plus rapide est de renommer l'extension de fichier en .php
la source
Ajouter cette ligne
pour
httpd.conf
déposer ce que vous voulez faire. Mais rappelez-vous que si vous faites cela, votre serveur Web sera très lent, car il analysera même du code statique qui ne contiendra pas de code php. Le meilleur moyen sera donc de créer l'extension de fichier.phtml
au lieu de simplement.html
.la source
Pour que les
.html
fichiers soient également analysés, vous devez définir le gestionnaire approprié dans la configuration de votre serveur.Pour Apache httpd 2.X, il s'agit de la ligne suivante
Consultez le docu PHP pour plus d'informations sur l'installation de votre serveur spécifique.
la source
Par défaut, vous ne pouvez pas utiliser PHP dans les pages HTML.
Pour ce faire, modifiez votre fichier .htacccess avec les éléments suivants:
la source
Si vous n'avez que du code php dans un fichier html mais que plusieurs autres fichiers ne contiennent que du code html, vous pouvez ajouter ce qui suit à votre fichier .htaccess afin qu'il ne serve que ce fichier en tant que php.
Cela rendra l'exécutable PHP UNIQUEMENT sur le fichier "yourpage.html" et non sur toutes vos pages html, ce qui évitera le ralentissement de tout votre serveur.
Quant à savoir pourquoi quelqu'un pourrait vouloir servir php via un fichier html, j'utilise la fonction IMPORTHTML dans les feuilles de calcul Google pour importer des données JSON à partir d'une URL externe qui doit être analysée avec php pour le nettoyer et créer une table html. Jusqu'à présent, je n'ai trouvé aucun moyen d'importer un fichier .php dans des feuilles de calcul Google, il doit donc être enregistré en tant que fichier .html pour que la fonction fonctionne. Être capable de servir php via un fichier .html est nécessaire pour cette utilisation particulière.
la source
Créez un fichier vide à l'aide du bloc-notes et nommez-le .htaccess, puis copiez ce fichier dans le répertoire de votre projet et ajoutez cette ligne et enregistrez-le.
sinon enregistrez le fichier .html en utilisant .php car php peut prendre en charge html, et enregistrez-le dans le chemin ordinateur / var / www / html (linux)
la source
AJAX est également une possibilité. En fait, vous voudriez des données de la page php. Une fois que vous avez les données, vous pouvez de toute façon formater en javascript et afficher.
la source
RÉVISION MODERNE: vous devez aussi maintenant le corriger en changeant le peu connu '' security.limit_extensions 'dans php-fpm en faisant cela. Vous connaissez probablement déjà le mécanisme bien documenté de changement d'Apache en AddHandler / AddType Je n'entrerai pas dans cela ici.
VOUS DEVEZ découvrir où se trouve php-fpm / conf dans votre configuration. Je l'ai fait en faisant ça
# grep -rnw '/etc/' -e 'security.limit_extensions'
Je l'ai récupéré
'/etc/php-fpm.d/www.conf:387:;security.limit_extensions = .php .php3 .php4 .php5 .php7'
allez dans ce fichier, éditez-le et ASSUREZ-VOUS DE RÉALISER QU'IL EST COMMENCÉ EXEMPLE: changez-le de
';security.limit_extensions = .php .php3 .php4 .php5 .php7'
<- NB: notez que";"
- cette ligne est en fait DÉSACTIVÉE par défaut - et vous n'avez pas besoin de toutes les extensions absurdes, en fait elles le sont probablement dangereux .. changez-le en'security.limit_extensions = .php .htm'
<- notez que le point virgule est maintenant supprimé. puis redémarrez apache / (ou nginx) et redémarrez php-fpm# service php-fpm restart
# service httpd restart
la source
Pour combiner HTML et PHP, vous pouvez utiliser des fichiers .phtml.
la source