Apache: PHP en ligne ne fonctionne pas sur Linux
Je vais avoir du mal à obtenir mon PHP pour mon serveur Apache. Je suis en cours d'exécution Oracle Linux, et utilisé yum install php
+ yum install httpd
pour obtenir mon PHP et Apache. J'ai parcouru l'internet et en fait un couple de choses:
Tout d'abord, je suis allé dans mon httpd.fichier conf et a ajouté LoadModule php5_module modules/libphp5.so
. J'ai choisi d'utiliser l'une dans mon php.fichier conf, ce qui est exactement la même. En outre, j'ai fait AddType application/x-http-php .php
, alors maintenant, mon .les fichiers php sont de chargement amende.
Autre part, j'ai essayé de lancer mon serveur Apache, et il fonctionne très bien. Il affiche mon index.html fichier, que j'ai mis avec DirectoryIndex. Cependant, lorsque j'ai essayé de mettre du code php dans les, il a obtenu automatiquement un commentaire, qui je suppose est parce que je n'ai pas à exécuter correctement sur le serveur.
Maintenant, avec tout ce que dit, je me demande ce que je peut-être manquant. J'ai deux set-ups, l'une où j'ai un .fichier php, et où le php est en ligne avec le code html.
index.html
<!DOCTYPE html>
<body>
<?php echo "Hello everybody."; ?>
</body>
</html>
index.php
<?php phpinfo(); ?>
L'index.php fichier charge très bien, mais le index.html ne pas exécuter le code php. Comment puis-je obtenir le inline version de php?
Remarque: j'ai mis mon Mac OS fonctionne bien avec .php les fichiers, mais il est aussi de la difficulté avec php en ligne dans un fichier Html. Ce qui me manque?
SOLUTION: Html fichiers eux-mêmes ne peuvent pas inclure de php. Au lieu de cela, le fichier doit être un .extension php, et dans un .fichier php, vous pouvez avoir de texte, html et JavaScript.
- Avez-vous examiner les journaux d'erreur? et Apache ne devrait pas être de commenter votre code PHP, même si le module ne fonctionne pas correctement, il faut juste l'ignorer et s'afficher comme il est
- Je l'ai fait, et elle ne dit rien par rapport à php. Juste quelque chose à propos de favicon.ico.
Vous devez vous connecter pour publier un commentaire.
Je ne pense pas .les fichiers html sont exécutés par le biais de php de sorte que le <? ... ?> est traitée comme un fait normal de la balise qui est invisible.
Changer l'extension en .php.
Php peut contenir du html.
Edit:
Il existe une option pour configurer par exemple Apache pour analyser des fichiers html comme si ils sont php si vous pour une raison quelconque, ne peuvent pas ou ne veulent pas utiliser le php pour les terminaisons.
C'est, à mon avis, n'est pas une bonne solution car elle masque le fait que la page est dynamique pour un avenir responsable.
Il y a une question similaire qui a un problème similaire:
Le code PHP n'est pas exécuté, au lieu de code s'affiche sur la page
Vous pourriez vouloir vérifier les points 2 à 5 de la accepté de répondre:
vous n'avez pas le configurer). Ajoutez la ligne suivante à votre httpd.fichier conf:
AddType application/x-httpd-php .php
.php
extension (après avoir configuré Apache pour exécuter les fichiers PHP, voir le point précédent)<?php
au lieu de simplement<?
)<?
). Les utilisez-vous? Sont-ils autorisés? (short_open_tag
PHP paramètre ini)Vous devez définir
short_open_tag = On
dans votrephp.ini
fichier