Le code PHP n'est pas exécuté, mais le code apparaît sur la page

j'essaie d'exécuter du code PHP sur un projet (en utilisant Dreamweaver) mais le code n'est pas exécuté.

quand je vérifie le code source, le code PHP apparaît comme des balises HTML (je peux le voir dans le code source). Apache fonctionne correctement (je travaille avec XAMPP), les pages PHP sont ouvertes correctement mais le code PHP n'est pas exécuté.

est-ce que quelqu'un a une suggestion sur ce qui se passe?

Note: le fichier est déjà nommé filename.php

Edit: code..:

<?
include_once("/code/configs.php");
?>

The print

242
demandé sur Taryn 2011-02-25 22:06:51

24 réponses

Sonne comme il ya quelque chose de mal avec votre configuration, voici quelques choses que vous pouvez vérifier:

  1. assurez-vous que PHP est installé et fonctionne correctement. Cela peut paraître idiot, mais on ne sait jamais. Une façon facile de vérifier est d'exécuter php -v à partir d'une ligne de commande et de voir si renvoie des informations de version ou des erreurs.

  2. assurez - vous que le module PHP est listé et non complété à l'intérieur du httpd de votre Apache.conf cela devrait être quelque chose comme LoadModule php5_module "c:/php/php5apache2_2.dll" dans le fichier. Cherchez LoadModule php , et assurez-vous qu'il n'y a aucun commentaire ( ; ) en face de lui.

  3. assurez-vous que Apache soit httpd.le fichier conf a le type MIME PHP. Ça devrait être quelque chose comme AddType application/x-httpd-php .php . Cela indique à Apache de lancer les fichiers .php en PHP. Rechercher AddType, puis s'assurer qu'Il ya une entrée pour PHP, et qu'il est non complété .

  4. assurez-vous que votre fichier a l'extension .php dessus, ou quelle que soit l'extension spécifiée dans la définition MIME au point #3, sinon il ne sera pas exécuté comme PHP.

  5. assurez-vous que vous n'utilisez pas short tags dans le fichier PHP ( <? ), ceux-ci sont non activé sur tous les serveurs par défaut et leur utilisation est déconseillée. Utilisez <?php à la place (ou activer les balises courtes dans votre php.ini avec short_open_tag=On si vous avez un code qui s'appuie sur eux).

  6. 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 local file://localhost/www/file.php

et enfin vérifier le manuel PHP pour d'autres conseils de configuration .

328
répondu shmeeps 2017-11-13 11:44:58

J'exécute Apache sur Ubuntu et mon problème était que le fichier /etc/apache2/mods-available/php5.conf manquait ceci:

<FilesMatch ".+\.ph(p[345]?|t|tml)$">
    SetHandler application/x-httpd-php
</FilesMatch>

Je l'ai ajouté en arrière dedans et php parsait des dossiers php correctement.

28
répondu Matt McDonald 2016-03-21 14:37:46

php7:

sudo a2enmod proxy_fcgi setenvif
sudo a2enconf php7.0-fpm
sudo service apache2 restart
27
répondu sj59 2017-02-06 15:06:40

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'encodage UTF-16 . Il semble que PHP5 ne puisse pas reconnaître la balise <?php en encodage 16 bits par défaut.

19
répondu Arrvi 2013-04-04 18:17:45

note pour les utilisateurs de php 7, ajoutez ceci à votre httpd.fichier conf:

# PHP 7 specific configuration
<IfModule php7_module>
    AddType application/x-httpd-php .php
    AddType application/x-httpd-php-source .phps
    <IfModule dir_module>
        DirectoryIndex index.html index.php
    </IfModule>
</IfModule>
19
répondu EdC 2016-08-15 09:32:59

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.. ça m'a pris du temps pour trouver la solution, alors j'ai pensé que je la partagerais avec vous les gars:

aussi, assurez-vous de vérifier qu'aucun des fichiers de configuration de votre site Web liés à cet hôte spécifique ou virtualhost n'a de php_admin_value qui éteint PHP, comme ceci:

php_admin_value engine Off

en cas de doute, en commentaire...

# php_admin_value engine Off

et redémarrez votre serveur web.

14
répondu Henry van Megen 2013-10-15 17:58:26

Oh Mon Dieu! Je viens de voir votre image postée à nouveau, vous ouvrez juste votre fichier php dans le navigateur. vous avez ouvert utilise l'url localhost. si vous ouvrez un fichier directement à partir de votre répertoire, il n'exécutera pas le code php dans tous les cas.

utilisation: http://locahost/index.php ou http:127.0.0.1/index.php

activer le code php court dans votre cas, vous utilisez <? qui est le code php court pour <?php

par défaut les codes courts php sont désactivés.

également utiliser: sudo apt-get install php5 libapache2-mod-php5 php5-mcrypt si vous êtes un utilisateur ubuntu.

11
répondu Hasan Baig 2016-12-07 07:51:14

je sais que ça doit sembler idiot... mais rarement il arrive.

vérifiez si vous essayez d'exécuter php à partir de

**http://localhost/info.php**

et non de

file:///var/www/info.php

ps> Vous pouvez remarquer que si vous écrivez à partir de shell

php info.php 

il répond avec le code (il signifie fonctions php)..

6
répondu user3257072 2014-01-31 11:15:08

j'ai résolu ce problème en désinstallant XAMPP et en installant WAMP. Merci pour l'aide.

3
répondu Gui 2015-06-18 12:40:27

j'ai eu le même problème mais dans mon cas était différent. mon fichier qui contenait du code php s'appelait " somename.html " changé "abc.php" a bien fonctionné

3
répondu Netrus 2016-03-20 17:59:11

cela vient de m'arriver à nouveau, avec le téléchargement de fichiers html par le serveur, plutôt que le traitement. Je n'avais pas utilisé le serveur web apache depuis un certain temps sur l'ordinateur et entre-temps Ubuntu mis à jour comme deux autres versions de LTS installés à l'origine. Maintenant c'est

$ cat /etc/issue
Ubuntu 16.04 LTS

donc le php a fonctionné après comme ainsi:

$ sudo apt-get install lamp-server^
$ sudo a2enmod php7.0
$ sudo service apache2 restart 

le serveur web analysait maintenant le php. Peut-être qu'il faut maintenant mettre à jour quelques réseaux depuis php7.0 en cours d'exécution Où as c'était avant de lancer php5. Oh bien.

3
répondu ndasusers 2016-06-12 11:04:29

sur mon ubuntu 14.04, apache 2.4, php 5.5.9 installer, j'ai essayé avec un échantillon.php on/var/www / html (par défaut document root) et ça a marché. Donc le problème était sur la configuration de mes serveurs virtuels. La solution était d'inclure, sur le répertoire def contenant le .php, cette ligne:

    php_admin_flag engine on
2
répondu Rogelio 2016-03-29 15:29:39

vérifiez tous les paquets que vous avez installés pour php en utilisant:

yum list installed | grep remi

installez tous les paquets php , surtout php-devel sur votre machine.

2
répondu Chaitanya Shivade 2018-04-11 08:45:09

C'était dans mon .htaccess

DirectoryIndex index.html index.htm

de l'index.html contenait du code PHP. Par défaut, PHP ne traitera pas les fichiers avec des extentions comme htm* en tant que code PHP.

vous pouvez outrepasser cela, en ajoutant ce qui suit à .htaccess:

<FilesMatch ".+\.html$">
    SetHandler application/x-httpd-php
</FilesMatch>
1
répondu Jahmic 2016-12-04 13:40:47

pour la nouvelle configuration de la lampe fonctionnant en php 7 éditer le fichier /etc/httpd/conf/httpd.conf Remarque: assurez-vous d'effectuer une sauvegarde avant de changer quoi que ce soit.

coller ceci au fond du fichier:

<IfModule php7_module>
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
<IfModule dir_module>
    DirectoryIndex index.html index.php
</IfModule>

ensuite, rechercher LoadModule et coller la ligne suivante:

LoadModule php7_module modules/libphp7.so

cette ligne demandera simplement à httpd de charger le module php 7

puis redémarrez httpd

1
répondu Eric Libay 2017-06-16 03:03:10

j'ai affronté ce problème sur php 7.1 qui est livré avec High Sierra (OS X 10.13.5), éditant /etc/apache2/httpd.conf avec les changements suivants aidé:

  1. Uncement this line

    LoadModule php7_module libexec/apache2/libphp7.so
    
  2. Coller à la fin

    <IfModule php7_module>
        AddType application/x-httpd-php .php
        AddType application/x-httpd-php-source .phps
    
        <IfModule dir_module>
            DirectoryIndex index.html index.php
        </IfModule>
    </IfModule>
    
1
répondu R-Aamir 2018-06-08 16:49:15

je pense que le problème qu'il montre le code au lieu du résultat est qu'il ne va pas à l'hôte local . vérifiez que l'adresse u r aller dans. sont u assister à un fichier ou à l'hôte local.

de la capture d'écran u envoyé il va à ur ordinateur pas au localhost.

"file:///" il faut "localhost/"

0
répondu Nav 2016-05-27 01:02:52

réinstaller le module mcrypt a fonctionné pour moi.

$sudo apt-get install php5-mcrypt
$sudo php5enmod mcrypt
0
répondu b.g 2016-10-17 05:46:08

j'ai eu un cas où j'ai accidentellement commencé à démêler mon répertoire de fichiers dans root. - Il ajouté .htaccess fichier de mon dossier de fichiers qui bloquerait tous les php

# If we know how to do it safely, disable the PHP engine entirely.
<IfModule mod_php5.c>
  php_flag engine off
</IfModule>

Vérifier le bilan .fichier htaccess sur root.

0
répondu albertski 2016-12-02 23:01:36

si vous avez la configuration suivante:

<VirtualHost *:80>
    ServerName example.com
    DocumentRoot "/var/www/example.com"

    <FilesMatch "\.php$">
        SetHandler "proxy:fcgi://127.0.0.1:9000"
    </FilesMatch>
</VirtualHost>

décommentez les lignes suivantes de votre httpd.conf

LoadModule proxy_module lib/httpd/modules/mod_proxy.so
LoadModule proxy_fcgi_module lib/httpd/modules/mod_proxy_fcgi.so

Ça marche pour moi

0
répondu user3890355 2018-02-27 14:21:46

ajouter AddType application/x-httpd-php .php à votre httpd.fichier conf si vous utilisez Apache 2.4

0
répondu Ashahmali 2018-05-04 13:56:39

assurez-vous que le script contient

<?php

avant le code qui doit être exécuté. Il ne doit pas y avoir d'espace entre <? et php .

0
répondu Barmar 2018-06-01 04:42:23

vient de passer des heures à essayer de faire fonctionner PHP 5 avec Apache 2.4 sur Windows 10 . Finalement pour moi c'était une faute de frappe dans httpd.conf LoadModule . Attiré l'attention sur l'écriture et la trajectoire exacte du module à travers le dernière réponse dans ce fil apachelounge de denny2018 . Je vous remercie!

après deux nuits j'ai découvert... Mon répertoire a été écrit c: (minuscule)

j'avais LoadModule php5_module "c:/php/php5apache2.dll" mais correct pour apache 2.4 est:

LoadModule php5_module "C:/php/php5apache2_4.dll"

donc j'ai aussi manqué le _4 avant (pour apache 2.4 ). L'extrait complet qui a fonctionné pour moi:

# PHP
LoadModule php5_module "C:/php/php5apache2_4.dll"
AddHandler application/x-httpd-php .php
<FilesMatch \.php$>
    SetHandler application/x-httpd-php
</FilesMatch>

Juste essayé PHP 7 . Il y a la ligne LoadModule dans httpd.conf pour Apache 2.4 lit

LoadModule php7_module "C:/php/php7apache2_4.dll"

actuellement manuel php montre c:/php/php5apache2.dll qui, bien sûr, doit être ajustée.

0
répondu bobble bubble 2018-09-08 13:20:15

dans mon cas (Apache/2.4.34),

après avoir décompressé le module spécifique

" LoadModule php7_module libexec/apache2 / libphp7.so "

de

" /etc/apache2 / httpd.conf "

mon problème avait disparu.

0
répondu sh6210 2018-10-03 04:49:47