PHP-code wordt niet uitgevoerd, maar de code wordt weergegeven in de broncode van de browser

Ik probeer PHP-code op een project uit te voeren (met Dreamweaver) maar de code wordt niet uitgevoerd.

Als ik de broncode controleer, verschijnt de PHP-code als HTML-tags (ik kan het zien in de broncode). Apache werkt naar behoren (ik werk met XAMPP), de PHP-pagina’s worden correct geopend, maar de PHP-code wordt niet uitgevoerd.

Heeft iemand een suggestie over wat er aan de hand is?

Opmerking:het bestand heeft al de naam filename.php

Bewerken:
De code..:

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


Antwoord 1, autoriteit 100%

Het lijkt erop dat er iets mis is met uw configuratie, hier zijn een paar dingen die u kunt controleren:

  1. Zorg ervoor dat PHP correct is geïnstalleerd en werkt. Dit klinkt misschien gek, maar je weet maar nooit. Een gemakkelijke manier om te controleren is door php -vuit te voeren vanaf een opdrachtregel en te kijken of versie-informatie of fouten worden geretourneerd.

  2. Zorg ervoor dat de PHP-module en onbecommentarieerdin de httpd.conf van uw Apache staat. Dit zou zoiets moeten zijn als LoadModule php5_module "c:/php/php5apache2_2.dll"in het bestand. Zoek naar LoadModule phpen zorg ervoor dat er geen commentaar (;) voor staat.

  3. Zorg ervoor dat het httpd.conf-bestand van Apache het PHP MIME-type bevat. Dit zou zoiets moeten zijn als AddType application/x-httpd-php .php. Dit vertelt Apache om .phpbestanden als PHP uit te voeren. Zoek naar AddType en zorg ervoor dat er een vermelding is voor PHP, en dat er geen commentaar op staat.

  4. Zorg ervoor dat uw bestand de extensie .phpheeft, of welke extensie dan ook gespecificeerd in de MIME-definitie in punt #3, anders wordt het niet uitgevoerd als PHP.

  5. Zorg ervoor dat u geen korte tagsin het PHP-bestand (<?) zijn deze standaard niet op alle servers ingeschakelden wordt het gebruik ervan afgeraden. Gebruik in plaats daarvan <?php(of Schakel korte tags in je php.iniin met short_open_tag=Onals je code hebt die ervan afhankelijk is).

  6. Zorg ervoor dat u uw bestand via uw webserver opent met een URL zoals http://localhost/file.phpen niet via lokale bestandstoegang file://localhost/www/file.php

Raadpleeg ten slotte de PHP-handleiding voor verdere installatietips.


Antwoord 2, autoriteit 17%

php7 :

sudo a2enmod proxy_fcgi setenvif
sudo a2enconf php7.0-fpm
sudo service apache2 restart

Antwoord 3, autoriteit 8%

Ik gebruik Apache op Ubuntu en mijn probleem was dat het bestand /etc/apache2/mods-available/php5.confdit ontbrak:

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

Ik heb het weer toegevoegd en php was de php-bestanden correct aan het parseren.


Antwoord 4, autoriteit 7%

opmerking voor php 7-gebruikers, voeg dit toe aan uw httpd.conf-bestand:

# 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>

Antwoord 5, autoriteit 5%

Ik heb een ander probleem gevonden dat dit probleem veroorzaakt en heb het al opgelost. Ik heb per ongeluk mijn script opgeslagen in UTF-16-codering. Het lijkt erop dat PHP5 de <?php-tag standaard niet kan herkennen in 16-bits codering.


Antwoord 6, autoriteit 4%

Ik plaats dit antwoord omdat mijn Virtualmin/Webmin-beheerinterface besloot dat het een goed idee was om mijn PHP-engine uit te schakelen. Het kostte me een tijdje om de oplossing te vinden, dus ik dacht ik deel het met jullie:

Zorg er ook voor dat geen van de configuratiebestanden van uw website gerelateerd aan deze specifieke host of virtualhost php_admin_value’s bevat die PHP uitschakelen, zoals dit:

php_admin_value engine Off

Als je twijfelt, reageer dan…

# php_admin_value engine Off

En herstart je webserver.


Antwoord 7, autoriteit 4%

Je opent gewoon je php-bestand in de browser. Je moet het openen met de localhost-url. als je een bestand rechtstreeks vanuit je directory opent, zal het in geen geval de php-code uitvoeren.

gebruik: http://locahost/index.phpof http:127.0.0.1/index.php

Schakel php korte code in. In jouw geval gebruik je <?, de korte php-code voor <?php. Standaard zijn php shortcodes uitgeschakeld.

Gebruik ook: sudo apt-get install php5 libapache2-mod-php5 php5-mcryptals u een ubuntu-gebruiker bent.


Antwoord 8, autoriteit 2%

Ik weet dat het gek moet klinken… maar het gebeurt zelden.

Controleer of u php probeert uit te voeren vanuit

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

en niet van

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

ps> dat merk je als je vanuit shell schrijft

php info.php 

het antwoord met de code (het betekent php-functies)..


Antwoord 9, autoriteit 2%

Dit is me zojuist weer overkomen, samen met de server die html-bestanden downloadt in plaats van verwerkt. Ik had de webserver apache al een tijdje niet meer op de computer gebruikt en ondertussen is Ubuntu geüpdatet als twee andere versies van de oorspronkelijk geïnstalleerde LTS. Nu is het

$ cat /etc/issue
Ubuntu 16.04 LTS

Dus de php werkte daarna als volgt:

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

De webserver was nu de php aan het parseren. Misschien moet ik nu een aantal webs bijwerken sinds php7.0 nu draait waar het was voordat php5 werd uitgevoerd. Ach.


Antwoord 10

Ik heb dit opgelost door XAMPP te verwijderen en WAMP te installeren.
Bedankt voor de hulp.


Antwoord 11

Ik kwam dit probleem tegen op php 7.1 die wordt geleverd met High Sierra (OS X 10.13.5), het bewerken van /etc/apache2/httpd.confmet de volgende wijzigingen hielp:

  1. Commentaar opheffen voor deze regel

    LoadModule php7_module libexec/apache2/libphp7.so
    
  2. Plak het volgende aan het einde

    <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>
    

Antwoord 12

op mijn ubuntu 14.04, apache 2.4, php 5.5.9 installatie, probeerde ik met een sample.php op /var/www/html (standaard document root) en het werkte goed.
Dus het probleem zat in mijn Virtual Servers-configuratie.
De oplossing was om, in de Directory def die de .php bevat, deze regel op te nemen:

   php_admin_flag engine on

Antwoord 13

Als we op dezelfde pagina zitten, volg dan het volgende

sudo apt-get install php -y
sudo apt-get install php-{bcmath,bz2,intl,gd,mbstring,mysql,zip,fpm} -y

Om PHP 7.2 FPM in Apache2 in te schakelen:

a2enmod proxy_fcgi setenvif

a2enconf php7.2-fpm

update 2: Apache downloadt .php-bestand in plaats van te renderen

Daarna kreeg ik te maken met het bovenstaande probleem. Er zijn vergelijkbare vragen zoals dit.

Ik weet niet waarom, maar het gebeurde alleen voor mijn .php-bestanden in de hoofdmap /var/www/html/. alles was ok voor subdirectories. (bijvoorbeeld wordpress en phpmyadmin werkten prima)

Dus hier is mijn oplossing. Ik besloot om de php-module in te schakelen. dus ik heb dit commando uitgevoerd:

a2enmod php7.2

maar ik heb deze fouten:

Rekening houdend met de afhankelijkheid mpm_prefork voor php7.2:
Overweeg conflict mpm_event voor mpm_prefork:
FOUT: Module MPM_EVENT is ingeschakeld – kan niet doorgaan met conflicten. Het moet eerst worden uitgeschakeld!
Overweegt conflict MPM_WORKER voor MPM_PREFORK:
FOUT: kon geen afhankelijkheid MPM_Prefork instellen voor PHP7.2, afbreken

Dus besloot ik om MPM uit te schakelen door de volgende opdrachten te draaien:

sudo a2dismod mpm_prefork
sudo a2dismod mpm_worker
sudo a2dismod mpm_event

Start vervolgens Apache opnieuw:

systemctl restart apache2

Schakel vervolgens PHP7.2 in (Mijn geïnstalleerde versie):

sudo a2enmod php7.2

En nu werkt alles goed.


14

Ik had een soortgelijk probleem, maar in mijn geval was de oplossing anders.
Mijn bestand dat PHP-code heeft gehouden, werd “sommans.html” genoemd
gewijzigd in “Somename.php” werkte prima


15

Voor verse setup van lamp met PHP 7
Bewerk het bestand /etc/httpd/conf/httpd.conf
OPMERKING: Zorg ervoor dat u er een back-up maakt voordat u iets verandert.

Plak dit onderaan het bestand:

<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>

Zoek vervolgens naar LoadModule en plak de volgende regel:

LoadModule php7_module modules/libphp7.so

Deze regel vraagt ​​eenvoudigweg HTTPD om de PHP 7-module

te laden

Start HTTPD

opnieuw op


Antwoord 16

Zorg ervoor dat het script

. bevat

<?php

voor de code die moet worden uitgevoerd. Hierin mag geen spatie tussen <?en phpstaan.


Antwoord 17

Dit stond in mijn .htaccess

DirectoryIndex index.html index.htm

index.html bevat PHP-code. Standaard verwerkt PHP geen bestanden met extensies zoals htm* als PHP-code.

U kunt dit overschrijven door het volgende toe te voegen aan .htaccess:

<FilesMatch ".+\.html$">
    SetHandler application/x-httpd-php
</FilesMatch>

Antwoord 18

Voeg AddType application/x-httpd-php .phptoe aan je httpd.conf-bestand als je Apache 2.4 gebruikt


Antwoord 19

Een andere mogelijke oorzaak van dit probleem kan zijn dat u het script probeert uit te voeren in een “gebruikersmap” van de UserDir-module. Het uitvoeren van PHP-scripts in gebruikersmappen is standaard uitgeschakeld. U zult dit probleem tegenkomen als het script zich in de map public_htmlin uw thuismap bevindt en u probeert het te openen vanaf http://localhost/~your_username.

Om dit op te lossen, opent u /etc/apache2/mods-enabled/php7.2.conf. Je moet het tagblok onderaan met de tekst

. becommentariëren of verwijderen

<IfModule mod_userdir.c>
    <Directory /home/*/public_html>
        php_admin_flag engine Off
    </Directory>
</IfModule>

20

In mijn geval was de PHP-module niet geladen. Probeer dit:

  1. Controleer welke modules worden geladen: apache2ctl -M. Zoek naar module zoals php7_module (shared)
  2. Als er geen PHP-module wordt vermeld, probeer dan de module te laden die overeenkomt met uw PHP-versie. In mijn geval is het PHP-pakket libapache2-mod-php7.3. Dus ik deed: a2enmod php7.3en het probleem is opgelost.

21

Ik denk dat het probleem dat het een code toont in plaats van het resultaat is dat het niet naar de lokale gastheer gaat. Controleer opnieuw in welk adres u gaat. Ga je naar een lokale bestandsdirectory of naar de lokale host.

Vanaf de screenshot die u hebt verzonden, gaat het naar uw computer niet naar de localhost.

“Bestand: ///” Het zou “localhost /” moeten zijn


22

Installatie van de mcryptModule werkte voor mij.

$sudo apt-get install php5-mcrypt
$sudo php5enmod mcrypt

23

Ik had een zaak die ik per ongeluk mijn bestanden directory in root ben begonnen. Het voegde het .htaccess-bestand toe van mijn map Bestanden die alle PHP

zou blokkeren

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

Bottom line Controleer het .htaccess-bestand op root.


24

Als u deze configuratie hebt:

<VirtualHost *:80>
    ServerName example.com
    DocumentRoot "/var/www/example.com"
    <FilesMatch "\.php$">
        SetHandler "proxy:fcgi://127.0.0.1:9000"
    </FilesMatch>
</VirtualHost>

Uncomment Volgende regels in uw httpd.conf

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

het werkt voor mij


25

In mijn geval (Apache / 2.4.34),

Na eenheid van de specifieke module

“Loadmodule php7_module libexec / apache2 / libphp7.so”

van

“/ etc / apache2 / httpd.conf”

Mijn probleem was verdwenen.


26

Probeer de Apache-server opnieuw te starten. Dit was de fout die ik had gemaakt – vergeten om de server opnieuw te starten na het installeren van PHP!

service httpd restart

27

Voor PHP7.3. * U kunt proberen deze modules te installeren. Het werkte voor mij.

sudo apt-get install libapache2-mod-php7.3
sudo service apache2 restart

28

Makkelijkste manier om Apache + PHP7 te installeren met Debian 10:

apt-get update -y
apt-get install apache2 php7.0 libapache2-mod-php  -y
sudo service apache2 restart

Other episodes