J'essaie d'exécuter du code PHP sur un projet (en utilisant Dreamweaver) mais le code n'est pas en cours d'exécution.
Lorsque je vérifie le code source, le code PHP apparaît sous forme de balises HTML (je peux le voir dans le code source). Apache fonctionne correctement (je travaille avec XAMPP), les pages PHP s'ouvrent correctement mais le code PHP n'est pas exécuté.
Quelqu'un a-t-il une suggestion sur ce qui se passe?
Remarque: le fichier est déjà nomméfilename.php
Edit: Le Code ..:
<?
include_once("/code/configs.php");
?>
<?
plutôt des balises courtes<?php
?<?
). Ils sont obsolètes, ne fonctionnent pas vraiment dans beaucoup d'endroits et sont par ailleurs complètement inutiles. L'enregistrement de trois frappes n'est pas une raison valable pour permettre à votre code d'échouer sur probablement la moitié des serveurs sur lesquels il peut fonctionner.short_open_tag
paramètre.<?=
), qui devraient fonctionner correctement sur php 5.4+, quels que soient les paramètres du serveur.Réponses:
On dirait qu'il y a un problème avec votre configuration, voici quelques éléments que vous pouvez vérifier:
Assurez-vous que PHP est installé et fonctionne correctement. Cela peut sembler idiot, mais on ne sait jamais. Un moyen facile de vérifier consiste à exécuter à
php -v
partir d'une ligne de commande et à voir si renvoie des informations de version ou des erreurs.Assurez-vous que le module PHP est répertorié et non commenté à l' intérieur du httpd.conf de votre Apache Cela devrait être quelque chose comme
LoadModule php5_module "c:/php/php5apache2_2.dll"
dans le fichier. RecherchezLoadModule php
et assurez-vous qu'il n'y a pas de commentaire (;
) devant.Assurez-vous que le fichier httpd.conf d'Apache contient le type PHP MIME. Cela devrait ressembler à quelque chose
AddType application/x-httpd-php .php
. Cela indique à Apache d'exécuter des.php
fichiers en PHP. Recherchez AddType, puis assurez-vous qu'il existe une entrée pour PHP et qu'elle n'est pas mise en commentaire .Assurez-vous que votre fichier porte l'
.php
extension, ou toute extension spécifiée dans la définition MIME au point # 3, sinon il ne sera pas exécuté en PHP.Assurez-vous que vous n'utilisez pas de balises courtes dans le fichier PHP (
<?
), celles-ci ne sont pas activées par défaut sur tous les serveurs et leur utilisation est déconseillée. Utilisez-le à la<?php
place (ou activez les balises courtes dans votre php.ini avecshort_open_tag=On
si vous avez du code qui dépend d'eux).Assurez-vous que vous accédez à votre fichier sur votre serveur Web en utilisant une URL comme
http://localhost/file.php
pas via l'accès au fichier localfile://localhost/www/file.php
Et enfin, consultez le manuel PHP pour d'autres conseils de configuration .
la source
AddType application/x-httpd-php .php
. Merci beaucoup!!apt-get purge apache2; apt-get install apache2 libapache-mod-php5
.php
extension avec le contenu<?php echo("Success"); ?>
et voyez si l'accès au fichier via un navigateur Web entraîne l'affichage de "Success" sans le code PHP associé.php7:
la source
sudo a2enmod proxy_fcgi setenvif
crée trois nouveaux mods/mods-available/proxy.conf proxy_fcgi.load proxy.load
De même,sudo a2enconf php7.0-fpm
crée un fichier de configuration/conf-available/php7.0-fpm.conf
Une fois cela fait, Apache2 peut alors exécuter le module PHP7 en tant que service CGI rapide.J'utilise Apache sur Ubuntu et mon problème était que le
/etc/apache2/mods-available/php5.conf
fichier manquait ceci:Je l'ai rajouté et php analysait correctement les fichiers php.
la source
note pour les utilisateurs de php 7, ajoutez ceci à votre fichier httpd.conf:
la source
httpd.conf
fichier se trouve dans/etc/apache2/httpd.conf
Si vous utilisez Ubuntu, il se trouveraitapache2.conf
dans le même répertoire qui doit être modifié pour PHP7.J'ai trouvé un autre problème à l'origine de ce problème et je l'ai déjà résolu. J'ai accidentellement enregistré mon script dans l'
UTF-16
encodage. Il semble que PHP5 ne puisse pas reconnaître les<?php
balises en encodage 16 bits par défaut.la source
Je poste cette réponse parce que mon interface d'administration Virtualmin / Webmin a décidé que c'était une bonne idée de désactiver mon moteur PHP .. il m'a fallu un certain temps pour trouver la solution, alors j'ai pensé la partager avec vous:
Assurez-vous également qu'aucun de vos fichiers de configuration de site Web liés à cet hôte ou virtualhost spécifique ne contient de php_admin_value qui désactivent PHP, comme ceci:
En cas de doute, commentez-le ...
Et redémarrez votre serveur Web.
la source
/etc/apache2/mods-enabled/php7.conf
ouphp5.conf
sudo grep php_admin_value /etc/* -R
Vous venez d'ouvrir votre fichier php dans le navigateur. Vous devez l'ouvrir en utilisant l'URL localhost. si vous ouvrez un fichier directement depuis votre répertoire, il n'exécutera en aucun cas le code php.
utiliser:
http://locahost/index.php
ouhttp:127.0.0.1/index.php
Activez le code court php. Dans votre cas, vous utilisez
<?
qui est le code court php<?php
. Par défaut, les codes courts php sont désactivés.Utilisez également:
sudo apt-get install php5 libapache2-mod-php5 php5-mcrypt
si vous êtes un utilisateur ubuntu.la source
Je sais que ça devrait paraître idiot ... mais ça arrive rarement.
Vérifiez si vous essayez d'exécuter php depuis
et non de
ps> vous pouvez remarquer que si vous écrivez depuis le shell
il répond avec le code (ça veut dire les fonctions php) ..
la source
Cela m'est encore arrivé, avec le serveur téléchargeant des fichiers html, plutôt que de les traiter. Je n'avais pas utilisé le serveur Web apache depuis un certain temps sur l'ordinateur et pendant ce temps, Ubuntu était mis à jour comme deux autres versions de LTS installé à l'origine. C'est maintenant
Donc, le php a fonctionné comme suit:
Le serveur Web analysait maintenant le php. Peut-être avons-nous maintenant à mettre à jour certains sites Web depuis que php7.0 fonctionne maintenant où il était avant d'exécuter php5. Tant pis.
la source
J'ai résolu ce problème en désinstallant XAMPP et en installant WAMP. Merci pour l'aide.
la source
J'ai rencontré ce problème sur php 7.1 fourni avec High Sierra (OS X 10.13.5), l'édition
/etc/apache2/httpd.conf
avec les changements suivants a aidé:Décommenter cette ligne
Coller à la fin
la source
sur mon installation ubuntu 14.04, apache 2.4, php 5.5.9, j'ai essayé avec un sample.php sur / var / www / html (racine de document par défaut) et ça a bien fonctionné. Le problème était donc sur ma configuration Virtual Servers. La solution consistait à inclure, sur le répertoire def contenant le .php, cette ligne:
la source
Assurez-vous que le script contient
avant le code qui doit être exécuté. Il ne devrait y avoir aucun espace entre
<?
etphp
en cela.la source
j'ai eu un problème similaire mais dans mon cas, la solution était différente. mon fichier qui contenait du code php s'appelait "somename.html" l'a changé en "somename.php" a bien fonctionné
la source
Pour une nouvelle configuration de LAMP exécutant php 7, éditez le fichier /etc/httpd/conf/httpd.conf Remarque: assurez-vous de faire une sauvegarde avant de changer quoi que ce soit.
Collez-le tout en bas du fichier:
Ensuite, recherchez LoadModule et collez la ligne suivante:
Cette ligne demandera simplement à httpd de charger le module php 7
Redémarrez ensuite httpd
la source
Vérifiez tous les packages que vous avez installés pour php en utilisant:
Installez tous les packages php pertinents , en particulier php-devel sur votre machine.
la source
C'était dans mon .htaccess
index.html contenait du code PHP. Par défaut, PHP ne traitera pas les fichiers avec des extensions comme htm * comme code PHP.
Vous pouvez remplacer cela en ajoutant ce qui suit à .htaccess:
la source
Je pense que le problème qu'il montre du code au lieu du résultat est qu'il ne va pas à l'hôte local. revérifiez quelle adresse vous allez. allez-vous dans un répertoire de fichiers local ou sur l'hôte local.
à partir de la capture d'écran que vous avez envoyée, il ne va pas à l'ordinateur local.
"file: ///" il devrait être "localhost /"
la source
La réinstallation du
mcrypt
module a fonctionné pour moi.la source
J'ai eu un cas où j'ai accidentellement commencé à décompresser mon répertoire de fichiers à la racine. Il a ajouté le fichier .htaccess de mon dossier de fichiers qui bloquerait tous les php
En bout de ligne, vérifiez le fichier .htaccess à la racine.
la source
Si vous avez une configuration comme celle-ci:
Décommentez les lignes suivantes dans votre httpd.conf
Ça marche pour moi
la source
Ajoutez
AddType application/x-httpd-php .php
à votre fichier httpd.conf si vous utilisez Apache 2.4la source
Je viens de passer des heures à essayer de faire fonctionner PHP 5 avec Apache 2.4 sur Windows 10 . Enfin pour moi, c'était une faute de frappe dans httpd.conf
LoadModule
. A attiré l'attention sur l'écriture et le chemin exact du module à travers la dernière réponse dans ce fil d' apachelounge de denny2018 . Je vous remercie!J'avais
LoadModule php5_module "c:/php/php5apache2.dll"
mais correct pour apache 2.4 c'est:J'ai donc également raté l'
_4
avant (pour apache 2.4 ). L'extrait complet qui a fonctionné pour moi:Je viens d'essayer PHP 7 . Là, la
LoadModule
ligne dans httpd.conf pour Apache 2.4 se litActuellement, le manuel php montre
c:/php/php5apache2.dll
lequel doit bien sûr être ajusté.la source
dans mon cas (Apache / 2.4.34),
après avoir décommenté le module spécifique
de
mon problème était parti.
la source
Au cas où nous serions sur la même page, suivez
sudo apt-get install php -y
sudo apt-get install php-{bcmath,bz2,intl,gd,mbstring,mysql,zip,fpm} -y
Pour activer PHP 7.2 FPM dans Apache2, procédez comme suit:
a2enmod proxy_fcgi setenvif
a2enconf php7.2-fpm
mise à jour 2: Apache télécharge le fichier .php au lieu du rendu
Après cela, j'ai rencontré le problème ci-dessus. Il y a des questions similaires comme celle-ci .
Je ne sais pas pourquoi mais cela ne s'est produit que pour mes fichiers .php dans
/var/www/html/
le dossier racine. tout était ok pour les sous-répertoires. (par exemple, wordpress et phpmyadmin ont bien fonctionné)Voici donc ma solution. J'ai décidé d'activer le module php. j'ai donc exécuté cette commande:
a2enmod php7.2
mais j'ai eu ces erreurs:
j'ai donc décidé de désactiver mpm en exécutant les commandes suivantes:
puis redémarrez apache:
systemctl restart apache2
puis activez php7.2 (ma version installée):
sudo a2enmod php7.2
et maintenant tout fonctionne bien.
la source
Une autre cause possible de ce problème pourrait être que vous essayez d'exécuter le script dans un "répertoire utilisateur" à partir du
UserDir
module. L'exécution de scripts PHP dans les répertoires utilisateur est désactivée par défaut. Vous rencontrerez ce problème si le script se trouve dans lepublic_html
répertoire de votre dossier de départ et que vous essayez d'y accéder depuishttp://localhost/~your_username
.Pour résoudre ce problème, ouvrez
/etc/apache2/mods-enabled/php7.2.conf
. Vous devez commenter ou supprimer le bloc de balises en bas qui litla source
le fichier que vous placez dans / var / www / html / devrait avoir .php par exemple example.php si c'est exemple il ne fonctionne pas mais si vous le changez en example.php cela fonctionne.
la source