Ошибка php выводит один код

Имеется форма авторизации на html, при выводе содержимого name="email" и name="password"
в php, php выводит свой код. Использую OpenServer

                <form method="post" action="index.php" class="form-container">
                    <div class="form-group">
                        <label for="exampleInputEmail1">Ваш Email</label>
                        <input type="email" name="email" class="form-control" placeholder="Введите Email">
                    </div>
                    <div class="form-group">
                        <label for="exampleInputPassword1">Пароль</label>
                        <input type="password" name="password" class="form-control" placeholder="Введите пароль">
                    </div>
                    <button type="submit" class="btn btn-primary btn-block">Отправить</button>
                </form>

               //php в файле index.php

               <?php
               $email = $_POST["email"];
               $password = $_POST["password"];
               echo $email;
               echo $password;
               ?>

Вывод

введите сюда описание изображения

Skeggi's user avatar

Skeggi

5335 серебряных знаков14 бронзовых знаков

задан 21 дек 2020 в 5:54

No namep's user avatar

2

Вам нужно либо создать папку c доменом (например test.ru) в папке domains и открывать файл в браузере уже с помощью OS по адресу test.ru/FILENAME.php, либо создать папку c доменом в папке domains/localhost и открывать по адресу localhost/DOMAIN/FILENAME.php.

Открывать файлы просто в браузере через ПКМ бесполезно, потому что в этом случае сервер не работает. Надо обязательно через домены и непосредственно OS

Рекомендую для начала посмотреть информацию по словам «Open Server. Установка и работа с сервером» Видео например

ответ дан 21 дек 2020 в 7:15

Алексей Шиманский's user avatar

Алексей ШиманскийАлексей Шиманский

70.5k12 золотых знаков87 серебряных знаков179 бронзовых знаков

I have recently been trying to install PHP and Apache on my computer. After many hours, they’re installed. I have modified the httpd.conf and php.ini files like everyone says. I then created a simple PHP script:

<?php phpinfo(); ?>

But when I try to run it with http://127.0.0.1/phpinfo.php it just shows the source code instead of executing it. I am using Apache 2, PHP 5 and Windows Vista.

EDITED LINES:

PHP.INI:

short_open_tag = On

HTTPD.CONF

LoadModule php5_module "C:/php/php5apache2_2.dll"
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
PHPIniDir "C:/php"

Community's user avatar

asked Aug 27, 2012 at 12:40

imulsion's user avatar

7

You must enable php! Check the folder mods-enabled in the Apache directory (default: /etc/apache2/) to see if you find a file named php. I don’t remember the extension but I think it’s .so.

Also check in /var/log/apache2/error.log to see if you have any other errors.

SuperSandro2000's user avatar

answered Aug 27, 2012 at 12:49

Daniel Figueroa's user avatar

Daniel FigueroaDaniel Figueroa

10.3k5 gold badges44 silver badges66 bronze badges

6

Wow, lots of solutions here! Here’s what I did on Ubuntu 16.04:

sudo apt-get install php libapache2-mod-php
sudo a2enmod mpm_prefork && sudo a2enmod php7.0
sudo service apache2 restart

answered Apr 28, 2017 at 18:32

helmy's user avatar

helmyhelmy

8,9683 gold badges32 silver badges31 bronze badges

5

For PHP 7 (May apply to previous versions as well), but I had to do this:

Add this to the bottom of /etc/apache2/apache2.conf

<FilesMatch .php$>
SetHandler application/x-httpd-php
</FilesMatch>

Run this from the terminal:

sudo a2dismod mpm_event && sudo a2enmod mpm_prefork && sudo a2enmod php7

Then don’t forget to restart Apache so it knows you changed stuff:

sudo service apache2 restart

This is a summary from: https://www.atlantic.net/community/howto/try-php7-lamp-ubuntu-14-04/

answered May 31, 2016 at 16:39

RyanNerd's user avatar

RyanNerdRyanNerd

3,0391 gold badge22 silver badges28 bronze badges

8

open the file

/etc/apache2/httpd.conf

and change

#LoadModule php5_module libexec/apache2/libphp5.so

into

LoadModule php5_module libexec/apache2/libphp5.so

So just uncoment the PHP module load in httpd.conf

biesior's user avatar

biesior

55.5k10 gold badges125 silver badges182 bronze badges

answered May 29, 2013 at 5:03

inigo333's user avatar

inigo333inigo333

3,0381 gold badge35 silver badges41 bronze badges

1

A different answer that worked for me. Is that, to install [sudo] apt-get install libapache2-mod-php5.X

answered May 12, 2016 at 9:43

Simon Mohoalali's user avatar

1

Apache shows php code instead of executing Issue fixed

1. Opened php5.6 conf or php7.x conf

# following command:

$ sudo vi /etc/apache2/mods-enabled/php5.6.conf

2. Commented following lines

enter image description here

3. Restarted the server

$ sudo service apache2 restart

4 Enjoy :)

answered Jun 27, 2019 at 16:09

Matthew Farrell's user avatar

0

Thanks to others on this thread for their suggestions. Following the steps mentioned I found that the apache server was not able to start reporting a syntax error in a load file in /etc/apache2/mods-enabled. Turns out that both php7.0 and php7.1 were enabled.

a2dismod php7.0
systemctl restart apache2

and php is rendered correctly again.

answered Feb 22, 2018 at 10:17

djnz0feh's user avatar

djnz0fehdjnz0feh

3834 silver badges13 bronze badges

Add following configuration to /etc/apache2/apache2.conf

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

And restart the apache via sudo service apache2 restart

answered Aug 16, 2020 at 15:39

Imran Zahoor's user avatar

Imran ZahoorImran Zahoor

2,4811 gold badge28 silver badges38 bronze badges

1

Alright if you’ve tried what you’ve been told above or earlier(which are possible reasons) and it still displays the code instead of executing it then there is one thing which you are doing wrong that hasn’t been addressed.
The url you used to access your php code; some people try to execute their php code by just dragging the .php file into the web browser. this is wrong practice and could lead to this kind of problem.
if you have saved a file as «test.php» in the C://wamp/www folder then you must access this file this way:
localhost://test.php.
this kind of mistake will arise when you access it this way: localhost://wamp/www/test.php

Hope I helped someone out there. o/
~Daniel

answered Jul 23, 2014 at 9:32

DAniel's user avatar

If you are a ubuntu user, after installing apache must run the following command in fresh installation

sudo apt-get install php5 libapache2-mod-php5 php5-mcrypt

In my case works fine.

answered Dec 6, 2016 at 13:03

Hasan Baig's user avatar

Hasan BaigHasan Baig

4916 silver badges17 bronze badges

1

Posting what worked for me in case in helps someone down the road, though it is an unusual case.

I had set a handler to force my web host to use a higher version of php than their default. There’s was 5.1, but I wanted 5.6 so I had this:

<FilesMatch .php$>
    SetHandler php56-cgi
</FilesMatch>

in my .htaccess file.

When trying to run my site locally, having that in there caused php code to be output to the browser. Removing it solved the problem.

answered Dec 22, 2016 at 4:31

evanmcd's user avatar

evanmcdevanmcd

1,9573 gold badges32 silver badges51 bronze badges

For PHP7 and Apache2.4, this is all you need to do:

sudo vim /etc/httpd/conf/httpd.conf

Go to the very bottom and insert the following (all by itself):

<FilesMatch ".*">
SetHandler application/x-httpd-php
</FilesMatch>

Then, restart Apache to load the new configuration:

sudo service httpd restart

Apache will now execute all HTTP/S requests with PHP. If all you have are html, css, and php files, then this will work fine for you. If you have other languages running, then you’ll need to tailor the file matching to your situation. I’ve tested this with phpMyAdmin and it works fine.

None of that other stuff all the people are talking about here was necessary for me. When I put the «AddType Application…..» thing in the correct spot, Apache just told me that that module was already loaded and skipped it.

More information can be found here: https://httpd.apache.org/docs/2.4/mod/core.html#filesmatch

My install was done as follows:

sudo yum install -y httpd24 php70 mysql56-server php70-mysqlnd

You should also read this, if you haven’t: https://httpd.apache.org/docs/current/howto/htaccess.html#when

answered Jan 22, 2020 at 21:24

Adam Winter's user avatar

Adam WinterAdam Winter

1,6501 gold badge12 silver badges25 bronze badges

4

This was happening to me also when running $_POST in MAMP. All of my .ini and httpd files were all set up correctly. If you are doing form handling and you have an html document and posting the info to a php formhandler running $POST, make sure that you are running the html file from localhost via your server, and not just locally.

This was a shortcut I did to run html documents, by just clicking the html file in my directory and launching in my web browser, when in reality to check if php is being processed in your form, you must run your html through your servers. A very simple protocol that I overlooked.

Example:

Wrong: file:///Applications/MAMP/htdocs/form/form.html

Right: http://localhost:your port number/form/form.html

Now the php should be processed once you click your submit button

Reeno's user avatar

Reeno

5,71011 gold badges37 silver badges50 bronze badges

answered Sep 19, 2015 at 17:28

maidenastraea's user avatar

What worked for me:

In active httpd.conf, find

<IfModule mime_module>
...
</IfModule>

It was missing the following

AddType application/x-httpd-php .php
AddHandler application/x-httpd-php .php

After restarting apache, .php files are correctly parsed.

answered Apr 8, 2017 at 15:39

paul's user avatar

paulpaul

1,12211 silver badges12 bronze badges

You could delete your .htaccess file and let the system creates a new (blank or basic) one. It may be that some lines you added are incorrect statements, or something else inside may cause the problem. You can then add line by line from your old .htaccess file to see what caused the problem.

That worked for me. The lines telling machine not to display php extensions were problem in my case (RewriteCond and RewriteRule). My old .htaccess file worked just fine on a shared server, but this issue appeared when I switched to VPS.

Alexred's user avatar

Alexred

1661 silver badge9 bronze badges

answered Sep 16, 2015 at 1:37

bokistack's user avatar

1

if the module userdir is enabled and your site is in a userdir (~/public_html) you must check /etc/apache2/mods-enabled/php5.conf.
The following part makes it work (on Ubuntu 14.10 utopic):

# Running PHP scripts in user directories is disabled by default
# 
# To re-enable PHP in user directories comment the following lines
# (from <IfModule ...> to </IfModule>.) Do NOT set it to On as it
# prevents .htaccess files from disabling it.

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

answered Mar 7, 2015 at 20:11

Cie6ohpa's user avatar

Cie6ohpaCie6ohpa

8151 gold badge10 silver badges13 bronze badges

none of the above applied or worked for me… PHP7, Apache Httpd 2.2 on CentOS 6

fact is, I installed (all with yum) php BEFORE Apache… you must do the reverse: always install Apache first, then PHP, and then it works…
Indeed, you are likely missing libphp7.so and libphp7-zts.so in /etc/httpd/modules/

I was able to recover anyhow without UNinstalling PHP. I did add the magic line in /etc/httpd/conf/httpd.conf: AddType application/x-httpd-php .php
And then run: yum install php php-mysql

answered Jul 30, 2018 at 18:46

Bernard Hauzeur's user avatar

Bernard HauzeurBernard Hauzeur

2,2951 gold badge17 silver badges25 bronze badges

I tried a number of the solutions above however the fix in our scenario was to install the fpm-module.

We had installed httpd before php which may have had something to do with the issue, but to resolve we installed the following:

yum module install php:7.2

This installed the php-fpm-7.2.11-4.module+el8.1.0+5443+bc1aeb77.x86_64.rpm module which we then enabled by:

systemctl enable —now php-fpm

From that point we left the /etc/httpd/conf.d/php.conf as default and restarted httpd

service httpd restart

Then everything worked.

Hope this helps, took way longer than it should have to figure out.

Community's user avatar

answered Mar 10, 2020 at 13:16

Bren1818's user avatar

Bren1818Bren1818

2,6021 gold badge23 silver badges28 bronze badges

I had the same problem, caused by the Debian/ Ubuntu default configuration of module suphp. It contained suPHP_Engine off for whole /usr/share, which resulted in the php sources being shown in the browser. Deactivating with a2dismod suphp was the interim solution.

answered Jul 10, 2016 at 11:20

Torsten Knodt's user avatar

Torsten KnodtTorsten Knodt

4771 gold badge5 silver badges20 bronze badges

I had the same problem. When I run a php file, the web browser showed me the php code instead of execute it. I had tried many times: uninstall/reinstall the wampserver64, working around the PHP/Apache settings/modules, etc. After 2 days: I realised that when I tried to run the php file within the notepad++ by pressing the default combination «ctrl + alt + shift + R» for chrome. It was trying to execute my php file like: «file///C:/wamp64/www/bla/bla..» in my chrome’s address bar. That was my problem. I made the changes according to page Configuring Notepad++ to run php on localhost?. My problem was solved. But after 2 days..

Community's user avatar

answered Oct 26, 2016 at 20:00

mechanic's user avatar

Run Xampp (apache) as administrator. In google chrome type:

localhost/<insert folder name here>/<insert file name>

i.e. if folder you created is «LearnPhp», file is «chapter1.php» then type

localhost/LearnPhp/chapter1.php

I created this folder in the xampp folder in the htdocs folder which gets created when you download xampp.

jackel414's user avatar

jackel414

1,6362 gold badges13 silver badges29 bronze badges

answered Mar 15, 2017 at 20:30

Theorder's user avatar

TheorderTheorder

6391 gold badge9 silver badges19 bronze badges

Debian 9 solution:

touch /etc/apache2/conf-available/php.conf 

Add to file next lines:

<IfModule mod_php5.c>
    <IfModule mod_mime.c>
        AddType application/x-httpd-php .php
    </IfModule>
    <FilesMatch ".+.php$">
        SetHandler application/x-httpd-php
    </FilesMatch>
</IfModule>
<IfModule mod_php.c>
    <IfModule mod_mime.c>
        AddType application/x-httpd-php .php
    </IfModule>
    <FilesMatch ".+.php$">
        SetHandler application/x-httpd-php
    </FilesMatch>
</IfModule>

Then run:

a2enconf php && service apache2 restart

answered Jan 17, 2018 at 15:09

mrDinkelman's user avatar

mrDinkelmanmrDinkelman

4881 gold badge9 silver badges18 bronze badges

1

Some times if you have php version conflicts it happens
To overcome that please follow the below steps

Step 1 : Yum list installed | grep ‘php’

if you have multiple versions of php like php 5.6 and php 7.0 this confilict will happens

Step 2 : yum remove **your php version **

Step 3 : Then restart the apapche /etc/init.d/httpd restart or service apache2 restart

answered Aug 28, 2018 at 6:05

sachin_ur's user avatar

sachin_ursachin_ur

2,30514 silver badges27 bronze badges

This solution worked for me. I purged apache2 and reinstall. It happened after purge and install. If it is the first install, you would not face this problem.

answered Dec 8, 2019 at 19:04

Kemal Atik's user avatar

Kemal AtikKemal Atik

2873 silver badges10 bronze badges

In my case with PHP7.3 Apache2.4 Ubuntu 18.04 I had to execute:

$ a2enmod actions fastcgi alias proxy_fcgi

answered Aug 24, 2020 at 10:43

Vasili Pascal's user avatar

Vasili PascalVasili Pascal

3,0621 gold badge27 silver badges21 bronze badges

Do your other sites/subdirectories work? Is it just a single dir that shows this behavior?

Then check for syntax error in your index.php. If you miss the very first character in a PHP-file: the «<» in «<?php», then the browser shows the rest of the file as it would be a text-file.


Example:

?php
phpinfo(); 
?> 

Then the browser shows just «?php phpinfo(); ?>» instead of the output of phpinfo().

answered Nov 19, 2022 at 21:15

schweigerson's user avatar

Centos 7, PHP 8, Apache 2

I’ve recently upgraded a centos server to use php 8.

After the upgrade php had stopped working and apache started serving me the php code as text.

Having spent a good while looking for which config setting had not updated I tracked it down to this:

in /etc/httpd/conf.d

<IfModule  mod_php7.c>

needed changing to:

<IfModule  mod_php.c>

There are other places that you may see the mod_php7 check that could probably be updated to the mod_php variant but this one definitely fixed it for me.

Don’t forget to restart the server afterwards.

answered May 14, 2021 at 8:50

DazBaldwin's user avatar

DazBaldwinDazBaldwin

4,0253 gold badges38 silver badges43 bronze badges

Всем вечер добрый.
Настроил ispconfig на Ubuntu, при ошибках в php файлах выводиться исходный код скрипта, например
<?php
echo '<pre>';
print_r($_SERVER)

Вместо ошибки выводит
?php
echo '<pre>';
print_r($_SERVER)

Уже перерыл весь php.ini но толку нет, может кто сталкивался как можно исправить?


  • Вопрос задан

    более трёх лет назад

  • 4375 просмотров

Проблема решилась, ошибка оказалась в FTP, при загрузке файлов, обрезался знак первый знак <, сейчас буду смотреть почему так

Пригласить эксперта

Проблема в настройках не php, а apache. Похоже, что до интерпретатора php дело даже не доходит.

А проблема не в режиме загрузки? Соответствие для типов файлов — Бинарные/ascii?


  • Показать ещё
    Загружается…

13 июн. 2023, в 17:10

3000 руб./за проект

13 июн. 2023, в 17:07

10000 руб./за проект

13 июн. 2023, в 17:05

2500 руб./за проект

Минуточку внимания

За последние 24 часа нас посетили 12204 программиста и 1208 роботов. Сейчас ищут 703 программиста …


  1. Pomodor

    С нами с:
    25 фев 2016
    Сообщения:
    5
    Симпатии:
    0


  2. Ganzal

    Команда форума
    Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.902
    Симпатии:
    969

    во-первых не надо смотреть уроки попова. он из тебя сделает инвалида а не программиста.
    во-вторых ты загружаешь файл с диска а должен пропустить его через настроенный вебсервер.
    в-третьих денвер очень сильно устарел и нужно взять openserver или собрать вамп из отдельных пакетов.


  3. Pomodor

    С нами с:
    25 фев 2016
    Сообщения:
    5
    Симпатии:
    0

    Спасибо за быстрые ответы)) но появились новые вопросы.
    А кого смотреть?/Что читать? Он вроде хорошо объясняет(
    Почему у этого поца работает а у меня нет? Из-за винды? У него кажись XP.
    На openserver проканает?
    Очень признателен за помощь.


  4. Ganzal

    Команда форума
    Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.902
    Симпатии:
    969

    потому что этот поц как пить дать открывает результат выполнения сценария вебсервером, а не просто читает его с диска. с этого момента ты уже понимаешь основную проблему попова. твой мастер тебе ничего не рассказал, но у тебя уже возникли проблемы. и наша проблема: вместо того чтоб идти к своему мастеру адепты попова идут за помощью сюда.

    что смотреть? ничего не смотреть. видеоуроки могут быть по какой-нибудь ретуши или монтажу, но не по программированию. ну имхо. надо читать книги в которых есть примеры которые ты будешь перепечатывать самостоятельно. это практика. ты прочитал, набрал, чуть повысил скил. если еще и получилось и работает — значит скил еще сильнее поднимется. а вообще — читать мануал и придумывать как сочетать те инструменты, которые там описываются.


  5. Ganzal

    Команда форума
    Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.902
    Симпатии:
    969

    да это не ты пропустил. это учитель твой пропустил. поэтому у тебя нет малейшего понятия о том как это работает и как с этим работать.
    опенсервер реализует стек веб-технологий для тех кому лениво всё отдельно ставить.
    апач? ну можно апач а можно и нгинкс. всё от тебя зависит. мне кажется ты сейчас не хочешь учиться ставить и конфигурировать серверный софт, поэтому тебе быстрее взять опенсервер и получить некий дефолт из коробки. но через какое-то время рекомендую разобраться с самостоятельной настройкой всего софта.


  6. VLK

    С нами с:
    15 дек 2013
    Сообщения:
    3.010
    Симпатии:
    58


  7. Pomodor

    С нами с:
    25 фев 2016
    Сообщения:
    5
    Симпатии:
    0


  8. denis01

    Команда форума
    Модератор

    Pomodor всё ведёт к тому что в книгах всё расскажут, не умеешь мышкой тыкать, научат, хочешь понять как делать программы на PHP, тебе и про как сети работают, что такое веб-сервер, HTTP и как это всё взаимодействует.
    Если там не понятно, то надо начинать со школьной книги по информатике.

    Тут посмотри какие книги в рекомендуют viewtopic.php?f=13&t=4537

    Ну и тут узнавать нюансы если что-то не понятно.


  9. Pomodor

    С нами с:
    25 фев 2016
    Сообщения:
    5
    Симпатии:
    0

    0_о земляк. Я тож с Кишинева о_0
    Ну про кники я понял, закрыл попова) вот гуглю книги подходящие.


  10. [vs]

    Команда форума
    Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.544
    Симпатии:
    625

    Даже не думай углубляться дальше по курсам Попова! Хрен с вами, пробуй по видео, но только если почувствуешь что чел шарит намного лучше.


  11. Fell-x27

    Команда форума
    Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.162
    Симпатии:
    1.770
    Адрес:
    :сердА

    А как ты предлагаешь человеку без знания предмета оценивать качество знаний другого человека по предмету? Вот вот. Никак.


  12. Ganzal

    Команда форума
    Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.902
    Симпатии:
    969

    последний релиз 2013-06-02, то есть почти три года назад.
    версия пыха: 5.3.13 — ветка 5.3 умерла 14 августа 2014. то есть полтора года назад. даже 5.4 — 3 сентября 2015 — уже почти полгода как не существует. текущая ветка — 7.0.
    мускул: 5.1 закончилась 31 декабря 2013 года. текущая ветка — 5.7.
    пхпмускуладмин: 3.5. ну допустим это 3.5.8.2 и выпущена 28 июля 2013. текущая версия 4.5.5.
    остался апачи. версия 2.2. ну у апачи плохо с удалением старого софта, поэтому можно и с 2.2 пожить. текущая 2.4.
    примерно такое говно мамонта из себя представляет денвер. да, можно поставить основу и потом руками наставлять пакеты. я много лет назад так и делал. вот только не хочу консультировать по этому поводу. поэтому ставьте опенсервер. или вообще из отдельных пакетов собирайте и учитесь сразу всё конфигурировать.


  13. Fell-x27

    Команда форума
    Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.162
    Симпатии:
    1.770
    Адрес:
    :сердА

    На винде это геморненько-таки. А линуху многие новички боятся, и, таки, на нее тоже время надо, чтобы освоиться.


  14. Ganzal

    Команда форума
    Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.902
    Симпатии:
    969

    я с 2008 по 2010 держал сервак на winxp и никакого гемора не знал. разве что пару раз винда после обновлений закрывала открытый 21 порт от чего не сложно угадать какой сервис отваливался. под вистой-7-8-10 может гемор и есть, но я с ним толком не сталкивался — под 7 я играю, хотя на всякий случай и поставлен весь нужный для работы софт. поставлен и проверен. работает. вполне возможно это сильно зависит от прямоты рук.

    ставьте виртуалки, собирайте всё из пакетов. пожалуй это самый правильный гемор, который нужно перетерпеть. потом-то будете с линуксом на хостинге дело иметь, а не с денвером, который за вас думает.


  15. Fell-x27

    Команда форума
    Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.162
    Симпатии:
    1.770
    Адрес:
    :сердА

    Я не о том. Я про то, что сборка руками веб-окружения на винде — это тот еще квест на пол-вечера. В линупсе, конечно, с этим проще гораздо.


  16. denis01

    Команда форума
    Модератор

    На windows ставил nginx + php так там 2 файла сконфигурировать для nginx и bat файл для php + php.ini по вкусу настроить.
    OpenServer чем удобен на windows, что там много всего наставлено, почта, субд разные и версии веб-сервера с php тоже.

Я пытаюсь выполнить некоторый код PHP в проекте (используя Dreamweaver), но код не запускается.

Когда я проверяю исходный код, PHP-код отображается как HTML-теги (я вижу его в исходном коде). Apache работает правильно (я работаю с XAMPP), страницы PHP открываются должным образом, но код PHP не выполняется.

Похоже, что что-то не так с вашей конфигурацией, вот несколько вещей, которые вы можете проверить:

  1. Убедитесь, что PHP установлен и работает правильно. Это может показаться глупым, но вы никогда не знаете. Простой способ проверить – запустить php -v из командной строки и посмотреть, возвращает ли информация о версии или какие-либо ошибки.

  2. Убедитесь, что модуль PHP указан и раскомментирован внутри вашего httpd.conf Apache. Это должно быть что-то вроде LoadModule php5_module "c:/php/php5apache2_2.dll" в файле. Найдите LoadModule php и убедитесь, что перед ним нет комментария ( ; ).

  3. Убедитесь, что файл httpd.conf Apache имеет в нем тип MIME PHP. Это должно быть что-то вроде AddType application/x-httpd-php .php . Это говорит Apache запускать .php файлы как PHP. Найдите AddType, а затем убедитесь, что есть запись для PHP, и что она не имеет комментариев .

  4. Убедитесь, что ваш файл имеет расширение .php на нем или любое расширение, указанное в определении MIME в пункте №3, иначе оно не будет выполняться как PHP.

  5. Убедитесь, что вы не используете короткие теги в файле PHP ( <? ), Они не включены на всех серверах по умолчанию, и их использование не рекомендуется. Вместо этого используйте <?php (или включите короткие тэги в php.ini с short_open_tag=On если у вас есть код, который опирается на них).

  6. Убедитесь, что вы просматриваете файл через ваш веб-сервер, используя URL-адрес, например http://localhost/file.php не через файл доступа к локальному file://localhost/www/file.php

И, наконец, проверьте руководство по PHP для дальнейших советов по настройке .

Я запускаю Apache на Ubuntu, и моя проблема заключалась в том, что файл /etc/apache2/mods-available/php5.conf отсутствовал:

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

Я добавил его обратно, и php правильно обрабатывал php-файлы.

Я нашел еще одну проблему, вызвавшую эту проблему, и уже решил ее. Я случайно сохранил свой сценарий в UTF-16 . Похоже, PHP5 не может распознать <?php в 16-битной кодировке по умолчанию.

Я отправляю этот ответ, потому что мой интерфейс администратора Virtualmin / Webmin решил, что было бы неплохо отключить мой PHP-движок. У меня ушло время найти решение, поэтому я решил поделиться с вами ребятами:

Кроме того, не забудьте проверить, что ни один из ваших конфигурационных файлов вашего веб-сайта, связанных с этим конкретным хостом или виртуальным хостом, не имеет в них php_admin_value, которые отключают PHP, например:

 php_admin_value engine Off 

Когда вы сомневаетесь, прокомментируйте это …

 # php_admin_value engine Off 

И перезагрузите свой веб-сервер.

note для пользователей php 7, добавьте это в свой файл httpd.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> 

О Боже! Я только что видел ваше опубликованное изображение снова, вы просто открываете свой php-файл в браузере. у вас есть open, использующий localhost url. если вы открываете файл непосредственно из своего каталога, он не будет выполнять php-код в любом случае.

используйте: http://locahost/index.php или http:127.0.0.1/index.php

включить короткий код php в вашем случае, вы используете <? который является коротким кодом php для <?php

по умолчанию короткие короткие коды php отключены.

также используйте: sudo apt-get install php5 libapache2-mod-php5 php5-mcrypt если вы пользователь ubuntu.

php7:

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

Я знаю, это должно звучать глупо … но редко бывает.

Убедитесь, что вы пытаетесь выполнить php из

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

а не

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

ps> вы можете заметить, что если вы пишете из оболочки

 php info.php 

он отвечает кодом (это означает php-функции) ..

Я решил это, удалив XAMPP и установив WAMP. Спасибо за помощь.

У меня была аналогичная проблема, но в моем случае решение было другим. мой файл, который содержал php-код, назывался «somename.html», изменил его на «somename.php», работал отлично

Это случилось со мной снова, вместе с сервером, загружающим html-файлы, а не обработкой. Я не использовал веб-сервер Apache некоторое время на компьютере, а между тем Ubuntu обновлялся как еще две версии изначально установленных LTS. Теперь это

 $ cat /etc/issue Ubuntu 16.04 LTS 

Итак, php работал так:

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

Теперь веб-сервер разбирает php. Возможно, теперь вам нужно обновить некоторые веб-страницы, так как теперь php7.0 работает там, где это было до запуска php5. Ну что ж.

Проверьте все пакеты, которые вы установили для php, используя: установленный список yum | grep remi

Установите все соответствующие пакеты php, особенно php-devel на вашем компьютере.

на моем ubuntu 14.04, apache 2.4, php 5.5.9 install, я попробовал с sample.php on / var / www / html (root по умолчанию), и он работал нормально. Таким образом, проблема была в моей конфигурации виртуальных серверов. Решение заключалось в том, чтобы включить в директорию def, содержащую .php, следующую строку:

  php_admin_flag engine on 

Я думаю, проблема в том, что он показывает код вместо результата, так это то, что он не будет локальным хостом. перепроверьте, к какому адресу ур идет. Собираетесь ли вы в локальный каталог файлов или на локальный хост.

из скриншота u отправил его на компьютер ур, а не на localhost.

«file: ///» должен быть «localhost /»

Переустановка модуля mcrypt работала для меня.

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

У меня был случай, когда я случайно начал разворачивать каталог файлов в корне. Он добавил файл .htaccess из папки моих файлов, который блокировал бы все php

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

Нижняя строка проверяет файл .htaccess на root.

Это было в моем .htaccess

 DirectoryIndex index.html index.htm 

index.html содержит PHP-код. По умолчанию PHP не будет обрабатывать файлы с расширениями, такими как htm *, как PHP-код.

Вы можете переопределить это, добавив следующее в .htaccess:

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

Для новой настройки LAMP, запускающей php 7, отредактируйте файл /etc/httpd/conf/httpd.conf. Примечание. Обязательно сделайте резервную копию для него, прежде чем ничего менять.

Вставьте это в самую нижнюю часть файла:

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

Затем найдите LoadModule и вставьте следующую строку:

 LoadModule php7_module modules/libphp7.so 

Эта строка просто попросит httpd загрузить модуль php 7

Затем перезапустите httpd

Понравилась статья? Поделить с друзьями:
  • Ошибка perfnet с кодом 2004
  • Ошибка php startup unable to load dynamic library
  • Ошибка pen list corrupt что это
  • Ошибка php notice array to string conversion in
  • Ошибка peer failed to perform tls handshake failed