Apache показывает php-код вместо выполнения
Недавно я пытался установить php и apache на свой компьютер. Через много часов они установлены. Я изменил файлы httpd.conf и php.ini, как все говорят. Затем я создал простой скрипт php:
Но когда я пытаюсь запустить его с http://127.0.0.1/phpinfo.php он просто показывает исходный код вместо выполнения. Я использую apache2, php5 и windows vista. Я безуспешно искал по всему Интернету и почти ударяю головой о стену. Может ли кто-нибудь спасти меня от сотрясения мозга?
LoadModule php5_module "C:/php/php5apache2_2.dll" AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps PHPIniDir "C:/php"
Вы должны включить php! Проверьте, mods-enabled ли мода в папке Apache (по умолчанию: / etc / apache2 /), чтобы узнать, найден ли файл с именем php . Я не помню расширение, но я думаю, что это так.
Также проверьте в var/log/apache2/error.log чтобы узнать, есть ли у вас какие-либо ошибки.
#LoadModule php5_module libexec/apache2/libphp5.so
LoadModule php5_module libexec/apache2/libphp5.so
Так что просто не выполняйте загрузку модуля PHP в httpd.conf
Для PHP 7 (может применяться и к предыдущим версиям), но я должен был сделать это:
Добавьте это к нижней части /etc/apache2/apache2.conf
SetHandler application/x-httpd-php
Запустите это с терминала:
sudo a2dismod mpm_event && sudo a2enmod mpm_prefork && sudo a2enmod php7
Тогда не забудьте перезапустить Apache, чтобы он знал, что вы изменили материал:
sudo service apache2 restart
Вау, здесь много решений! Вот что я сделал на Ubuntu 16.04 :
sudo apt-get install php libapache2-mod-php sudo a2enmod mpm_prefork && sudo a2enmod php7.0 sudo service apache2 restart
Я нашел это, чтобы решить мою связанную проблему. Я добавил его в соответствующий раздел :
Другой ответ, который сработал для меня. Это, чтобы установить [sudo] apt-get install libapache2-mod-php5.X
Хорошо, если вы пробовали то, что вам сказали выше или ранее (это возможные причины), и он по-прежнему отображает код вместо его выполнения, тогда есть одна вещь, которую вы делаете неправильно, которая не была устранена. URL-адрес, который вы использовали для доступа к вашему php-коду; некоторые люди пытаются выполнить свой php-код, просто перетащив файл .php в веб-браузер. это неправильная практика и может привести к этой проблеме. если вы сохранили файл как «test.php» в папке C: // wamp / www, вы должны получить доступ к этому файлу следующим образом: localhost: //test.php. такая ошибка возникает при доступе к ней следующим образом: localhost: //wamp/www/test.php
Надеюсь, я помог кому-то там. o / ~ Даниэль
Вы можете удалить свой файл .htaceess и позволить системе создать новый (пустой или базовый). Возможно, некоторые строки, которые вы добавили, являются неправильными инструкциями или что-то еще внутри, вызывает проблему. Затем вы можете добавить строку за строкой из старого файла .htaccess, чтобы узнать, что вызвало проблему.
Это сработало для меня. Линии, указывающие на то, что машина не отображает расширения php, были проблемой в моем случае ( RewriteCond и RewriteRule ). Мой старый файл .htaccess работал нормально на общем сервере, но эта проблема возникла, когда я переключился на VPS.
Проводка того, что сработало для меня в случае, помогает кому-то в дороге, хотя это необычный случай.
Я установил обработчик, чтобы заставить мой веб-хост использовать более высокую версию php, чем их значение по умолчанию. Там было 5.1, но я хотел 5.6, поэтому у меня было это:
При попытке запустить мой сайт локально, наличие в нем вызвало вывод php-кода в браузер. Снятие решения проблемы.
Если вы являетесь пользователем ubuntu, после установки apache необходимо выполнить следующую команду в новой установке
sudo apt-get install php5 libapache2-mod-php5 php5-mcrypt
В моем случае работает нормально.
если модуль userdir включен и ваш сайт находится в userdir (~ / public_html), вы должны проверить /etc/apache2/mods-enabled/php5.conf. Следующая часть делает работу (на 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 to .) Do NOT set it to On as it # prevents .htaccess files from disabling it. # # # php_admin_flag engine Off # #
Это происходило со мной и при запуске $ _POST в MAMP. Все мои файлы .ini и httpd были настроены правильно. Если вы выполняете обработку формы, и у вас есть html-документ и размещаете информацию в обработчике php form, работающем под $ POST, убедитесь, что вы запускаете html-файл с localhost через ваш сервер, а не только локально.
Это был ярлык, который я сделал для запуска html-документов, просто нажав html-файл в моем каталоге и запустив в своем веб-браузере, когда на самом деле проверить, обрабатывается ли php в вашей форме, вы должны запустить html через свои серверы. Очень простой протокол, который я забыл.
Справа: http://localhost:your port number/form/form.html
Теперь php следует обработать, как только вы нажмете кнопку отправки
У меня была та же проблема, вызванная настройкой модуля suphp умолчанию Debian / Ubuntu. Он содержал suPHP_Engine off для целых / usr / share, в результате чего источники php отображались в браузере. a2dismod suphp было деактивация с помощью a2dismod suphp .
У меня такая же проблема. Когда я запускаю php-файл, веб-браузер показал мне PHP-код вместо его выполнения. Я много раз пробовал: удалять / переустанавливать wampserver64, работать с настройками / модулями PHP / Apache и т. Д. Через 2 дня: я понял, что когда я попытался запустить php-файл в блокноте ++, нажав комбинацию по умолчанию «ctrl + alt + shift + R «для хром. Он пытался выполнить мой php-файл, например: «file /// C: / wamp64 / www / bla / bla ..» в адресной строке chrome. Это была моя проблема. Я внес изменения в соответствии со страницей « Настройка Notepad ++» для запуска php на localhost? , Моя проблема решена. Но через 2 дня ..
Запустите Xampp (apache) в качестве администратора. В google chrome type:
т.е. если созданная папка «LearnPhp», файл «chapter1.php», затем введите
Я создал эту папку в папке xampp в папке htdocs, которая создается при загрузке xampp.
В активном httpd.conf найдите
В нем отсутствовали следующие
AddType application/x-httpd-php .php AddHandler application/x-httpd-php .php
После перезапуска apache файлы .php правильно разбираются.
В браузере вижу сам код php, а не результат его работы
Поставил себе OpenServer 5.2.6
Apache 2.4
PHP — 5.5
MySQL — 5.5
Пишу простенький код, но при нажатии кнопки появляется страница не с результатом работы кода, а сам код PHP-файла. Что делать, ребят? С сервером что-то или что.
form action="action.php" method="post"> p>Ваше имя: input type="text" name="name" />/p> p>Ваш возраст: input type="text" name="age" />/p> p>input type="submit" />/p> /form>
Здравствуйте, echo htmlspecialchars($_POST['name']); ?>. Вам echo (int)$_POST['age']; ?> лет.
Почему в браузере отображается не результат, а сам код?
Здравствуйте! Скажите пожалуйста, почему, когда я пишу код PHP, в браузере отображается не.
Вместо результата работы скрипта выводится его php-код
Может у кого-нибудь есть возможность исправить мои ошибки, буду очень благодарна.
Вижу в браузере html код вместо страницы
Я пишу теги в программе Nolepad,вот мой код в программе: <html> <head> <title>Мои.
Ошибка в компоненте.. Сам не вижу..
Начинаю потихоньку изучать ООП.. Но проблема.. Написанный класс совершенно отказывается работать.
AddType application/x-httpd-php .html .htm .php
header("Content-Type: text/html; charset=utf-8"); if(isset($_POST['submit'])){ $name = htmlspecialchars($_POST['name']); $age = (int)$_POST['age']; echo 'Здравствуйте '.$name. ' Вам '.$age; } ?>
form action="" method="post"> p>Ваше имя: input type="text" name="name" />/p> p>Ваш возраст: input type="text" name="age" />/p> p>input type="submit" name="submit"/> /p> /form>
php не исполняется. браузер выводит исходный код php-файла
У меня стоит Denwer И Notepad++
но php все равно не исполняется. браузер выводит исходный код php-файла. Блин, я уже просто в отчаянии.
не поверите, я уже три дня маюсь! нет форумов, статей, видео, которые я еще не просматривала.
1 \usr\local\apache\conf\httpd.conf — отредактировала
2 Denwer перезапускала и переустановила потом вообще
3 преобразовано в UTF8
я знаю, что расширение .html не обрабатывается интепритатором php в Denwer’е — это нужно настроить, но блин как?
Александр Ширинкин Искусственный Интеллект (103603) Оставить с расширением php. С расширением html — убрать. Сервер по-умолчанию хватает html.
И снова здрасьте мадмуазель =)Возможно вы эти действия сделали но всё же повторюсь.. а если не сделали то сделайте
1)Зайдите в папку home и создайте там папку с каким то именем например папку local-site
2)В папке local-site создайте папку www и перезапустите денвер
3)Перейдите по адресу http://local-site
Если увидите Index of то приглашаете всех подружек и празднуете а если нет то качаете программу Teamviewer потом даёте мне данные в почте.. я подключаюсь и смотрю чё у вас там не то происходит.. и попробую полечить вашу болезнь. Если не хотите удалённого доступа то гуглите про XAMPP или OpenServer..попробуйте установить их вместо денвера.. если они будут работать то опять приглашаете подружек и радуйтесь
Ну а так вот что.. попробуйте создать файл htaccess и написать там такое
RemoveHandler .html .htm
AddType application/x-httpd-php .php .htm .html
потом создайте файлик test.html с таким содержимым
PHP-код не выполняется, вместо этого код отображается на странице
Я пытаюсь выполнить некоторый PHP-код в проекте (используя Dreamweaver), но код не запускается. Когда я проверяю исходный код, PHP-код отображается как HTML-теги (я вижу его в исходном коде). Apache работает правильно (я работаю с XAMPP), страницы PHP открываются должным образом, но код PHP не выполняется. Есть ли у кого-то предложение о том, что происходит? Примечание: Файл уже называется filename.php Edit: Код.
@ kjy112 Если сервер не анализирует файл как PHP, то PHP никогда не вызывается и не может генерировать никаких ошибок. Состояние ошибки не приведет к возможности просмотра исходного кода.
Получаете ли вы какие-либо результаты от phpinfo? (См. Пример 1, php.net/manual/en/function.phpinfo.php ). Если вы этого не сделаете, вам, вероятно, потребуется перенастроить apache.
Этот совет сработал для меня . «На самом деле запустите ваш файл через указанный веб-сервер, используя URL-адрес, такой как localhost / file.php, а не через файл локального доступа: //localhost/www/file.php»
Никогда не используйте короткие теги. (
@mopsyd Где говорится, что короткие теги устарели? Обратите внимание, что короткие теги не совпадают с короткими эхо-тегами , и короткие эхо-теги поддерживаются по умолчанию начиная с PHP 5.4, независимо от значения параметра short_open_tag .
Мне известно, что короткие теги не являются короткими эхо-тегами, поэтому я и указал, о чем говорил в комментарии. На момент написания статьи короткие ярлыки были помечены как устаревшие для версии php 6, хотя с тех пор она, по-видимому, изменилась. Проблема все еще существует в том, что на многих серверах они отключены, что делает ваш код значительно менее переносимым. Это не относится к коротким эхо-тегам (
глупо говорить о коротких тегах. Длинные метки отстой и они безобразны У меня никогда не было проблем за 10 лет программирования php. Они почти никогда не проблема