Почему php код не отображается в браузере
вы должны включить php! Проверьте папку mods-enabled в каталоге Apache (по умолчанию: / etc/ apache2/), чтобы узнать, есть ли файл с именем php . Я не помню расширение, но я думаю, что это .so .
зарегистрироваться var/log/apache2/error.log чтобы узнать, есть ли у вас какие-либо ошибки.
Вау, здесь много решений! Вот что я сделал Ubuntu 16.04:
для PHP 7 (может применяться и к предыдущим версиям), но мне пришлось это сделать:
добавьте это в нижнюю часть /etc/apache2 / apache2.conf
запустить из терминала:
тогда не забудьте перезапустить Apache, чтобы он знал, что вы изменили материал:
другой ответ, который работал для меня. Это, чтобы установить [sudo] apt-get install libapache2-mod-php5.X
хорошо, если вы пробовали то, что вам сказали выше или раньше(что является возможными причинами), и он по-прежнему отображает код вместо его выполнения, то есть одна вещь, которую вы делаете неправильно, которая не была решена. Url, который вы использовали для доступа к вашему php-коду; некоторые люди пытаются выполнить свой php-код, просто перетащив его .php-файл в веб-браузере. это неправильная практика и может привести к такого рода проблемы. если вы сохранили файл как "тест.php " в C://wamp/www папка, то вы должны получить доступ к этому файлу таким образом: значение localhost://тест.РНР. такая ошибка возникнет, когда вы получите доступ к нему таким образом: localhost://wamp / www / test.в PHP
надеюсь, я помог кому-то там. о/ ~Даниил
публикация того, что сработало для меня, в случае, если помогает кому-то по дороге, хотя это необычный случай.
Я установил обработчик, чтобы заставить мой веб-хост использовать более высокую версию php, чем по умолчанию. Был 5.1, но я хотел 5.6, поэтому у меня было это:
в моем .файл htaccess.
при попытке запустить мой сайт локально, что там вызвало вывод php-кода в браузер. Удаление его решило проблему.
вы можете удалить свою .htaceess file и пусть система создает новый (пустой или базовый). Возможно, некоторые строки, которые вы добавили, являются неправильными утверждениями или что-то еще внутри вызывает проблему. Затем вы можете добавить строку за строкой из своего старого .реврайт чтобы увидеть, что вызвало проблему.
Это сработало для меня. Строки, говорящие машине не отображать расширения php, были проблемой в моем случае (RewriteCond и RewriteRule). Мой старый .реврайт файл работал просто отлично на общем сервере, но эта проблема появилась, когда я переключился на VPS.
если модуль userdir включен и ваш сайт находится в userdir (~/public_html), вы должны проверить /etc/apache2/mods-enabled/php5.conf. Следующая часть заставляет его работать (на Ubuntu 14.10 utopic):
Если вы являетесь пользователем ubuntu, после установки apache необходимо выполнить следующую команду в новой установке
в моем случае работает отлично.
что сработало для меня:
не хватало следующего
после перезапуска apache,.php файлы правильно проанализированы.
спасибо другим в этой теме за их предложения. После упомянутых шагов я обнаружил, что сервер apache не смог начать сообщать о синтаксической ошибке в на /etc/apache2/mods-enabled . Оказывается, что оба php7.0 и php7.1 были включены.
и php снова отображается правильно.
это был ярлык, который я сделал для запуска html-документов, просто щелкнув html-файл в моем каталоге и запустив в моем веб-браузере, когда в реальность чтобы проверить, обрабатывается ли php в вашей форме, вы должны запустить html через свои серверы. Очень простой протокол, который я пропустил.
теперь php должен быть обработан, как только вы нажмете кнопку отправки
у меня была такая же проблема, вызванная конфигурацией модуля Debian/ Ubuntu по умолчанию suphp . Он содержал suPHP_Engine off для всего / usr / share, что привело к отображению источников php в браузере. Деактивация с помощью a2dismod suphp был промежуточным решением.
У меня была та же проблема. Когда я запускаю php-файл, веб-браузер показал мне php-код вместо его выполнения. Я пробовал много раз: удалить / переустановить wampserver64, работать с настройками/модулями PHP/Apache и т. д. Через 2 дня: я понял, что когда я пытался запустить php-файл в notepad++, нажав комбинацию по умолчанию "ctrl + alt + shift + R" для chrome. Он пытался исполнить мой php-файл, такие как: "файл" / " //с:/wamp64/ВСП/бла/бла.."в адресной строке моего браузера. Это была моя проблема. Я внес изменения в соответствии с page настройка Notepad++ для запуска php на localhost?. Моя проблема была решена. Но через 2 дня..
запустите Xampp (apache) как администратор. В google chrome введите:
т. е. если созданная вами папка "LearnPhp", файл " chapter1.РНР" введите
Я создал эту папку в папке xampp в папке htdocs, которая создается при загрузке xampp.
Самый частый вопрос, который мне приходилось видеть и слышать - это "почему не работает PHP". Более того, я когда-то сам задавался этим же вопросом. Что я делал (и так поступают 99% новичков)? Я делал следующее.
Сначала открывал html файл (либо php файл) в блокноте и вставлял туда PHP-код. Затем я пытался открыть данный файл в браузере. И что я видел? Разумеется, лабуду и никакого выполнения PHP-скрипта. А если это был PHP-файл, то мне предлагалось его сохранить на компьютер. Знакома ситуация? Если да, то сейчас Вы узнаете, почему так происходило и что надо сделать, чтобы PHP стал работать.
Дело в следующем: HTML, CSS и JavaScript обрабатываются браузером, поэтому мы легко могли создать простой HTML-файл и добавить туда код всех трёх языков. Однако, PHP обрабатывается не браузером (это ключевой момент), а интерпретатором PHP. Следовательно, нужен именно он. Также нужен файл настроек PHP, библиотеки и прочее. И вот только тогда всё заработает. Теперь вопрос: как это всё найти? Есть два способа: либо собирать всё вручную (это реально и не так сложно), либо пойти более простым путём и установить уже готовый пакет.
Установить его очень просто. Просто следуйте инструкциям.
Теперь запустите сервер (если он по каким-либо причинам не запустился), и, наконец, можете открыть, например, этот файл: "home/test1.ru/www/index.php". И вставить туда Ваш PHP-код. И когда Вы введёте в браузере следующий адрес: "http://test1.ru", то увидите результат выполнения Вашего PHP-скрипта.
Всё, PHP работает!
Кстати, если сервер не запускается, то в 99% случаях виноват антивирус и/или firewall. Проблема в том, что иногда они блокируют изменения файла hosts в Windows, поэтому постарайтесь отключить контроль за этим файлом в настройках антивируса. А если не получается, то на момент запуска сервера отключите антивирус.
В следующей статье я расскажу о том, как создавать домены и поддомены в Denwer. Также обязательно расскажу о файле hosts в ОС Windows, так как об этом очень важно знать любому, кто занимается созданием сайтов, используя пакет Denwer (да и другие пакеты тоже).
Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления
Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.
Порекомендуйте эту статью друзьям:
Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):
Ребята, привет. Заранее оговорюсь - я совсем не опытный в данной сфере человек, так что прошу прощения, если вопрос глупый.
В общем история такая. Установлен virtualbox, на нем ubuntu, на нем apache и php, вроде все работает, файл phpinfo отображается.
Но с файлами посложнее есть проблема. У меня создалось впечатление, что содержимое не отображается, либо отображается не корректно из-за того, что открывающий тег связывается не с закрывающим тегом ?>, а со знаком >, который может быть в теле документа.
Если в документе нет знака >, то все отображается корректно.
Если проблема в этом, помогите решить! Если не в этом, может кто подскажет, в чем может быть дело? Заранее большое спасибо!
- Вопрос задан более года назад
- 151 просмотр
Это ваш редактор глючит, неправильно сопоставляя скобки.
У вас создается инстанс SimpleClass. А где этот класс? Насколько я вижу, вы напрямую обращаетесь к файлу ex2.php и в нем нет никаких инклудов данного класса.
Включите отображение ошибок, чтобы видеть всё, на что ругается php.
Да, действительно дело не в тегах, а в классе, данный документ был примером с сайта, который видимо и не должен был запуститься. Спасибо за ответ и за совет включить отображение ошибок)
А если не про пример, есть задание - запустить приложение. При попытке выдает такую ошибку. Может что подскажете?
KateCat, подскажем, что телепатия по такой погоде плохо работает, и нам отсюда не видно, что у вас внутри config_data_ru.php, как проверяется его чексумма и зачем она вообще нужна.
KateCat, ваше приложение каким-то образом проверяет файл конфига на изменения (вычисляет контрольную сумму).
Ответить здесь и сейчас, каким образом это происходит и как сбросить чексумму на новую не представляется возможным. Эта проблема не относится к php. Это особенности логики вашего конкретного приложения.
Сразу прошу прощенья что не нашел этого поиском .. ну вобщем создал тему.
Есть HTML страница с включенным в нее PHP кодом.
DВот код вместе со включением написанным на ПХП :
не работает и с вариантом :
А именно: на отображаемой в браузере HTML странице - нет и следов того что кроме наличного HTML кода присутствует хоть что то писанное на PHP.
Проверка HTML, SSI CGI при настройке Аппач была проведена успешно .
Прошу подсказки какова принципиально возможная причина отсутствия выведения в браузере результата работы комманд написанных на ПХП в даном случае?
короче с каких пирогов такое может происходить , если проверка HTML проведена успешно
Как открываешь в адресной строке? Включен ли Апач?
Как файл создавал? Заново как PHP файл?
Какое расширение у файла? Точно ли . php ?
Цитата (СукинЛабрадор @ 30.12.2010 - 14:56) |
date("d.m.Y"); %> |
Скорей всего у тебя простая html страница в которую ты вставляешь PHP код, либо ты установил денвер, а у тебя стоял скайп, который использует и занимает порты 80 и 443, в этой случае зайди в скайп,настройки -> дополнительно -> Соединение и отключи использование этих портов, либо просто выключи его, Если это не скайп, то проверь что у тебя антивирус блокирует, скорей всего это именно эти проблемы
Окромя того таки
использованы варианты и
echo date("d.m.Y");
?>
Да, стоит Денвер.
да, html в который вставляем фрагмент на php
Сервер старт , конечно же, как вы поняли, запущен. (тот таки Start Denwer)
Итак,.права последняя полоьзовательница. . но . в своей правоте таки не права . потому что.
-Стоп.
Скажите, открыть ПОРТ - это перевести его из ENABLE в DISABLE ?
Так или иначе, введя в коммандную строку ДОС фразу:
'netsh firewall add portopening TCP 80 MyProtocol'
получил в ответ 'ОК'
аналогично и c портом 443:
'netsh firewall add portopening TCP 443 SSI'
ну и при вызове результата
'netsh firewall show portopening'
выдалось что оба интересующие нас порта : Enable
Короче, мне кажется что это нечто связанное с конфигурацией..
(хотя я ничего не менял)
Реально ли чтобы именно такое невидиние боаузером ПХП кода было результатом некой вполне конкретной ошибки в конфигурации?
мы все видели много вопросов о StackOverflow, которые основаны на идее, что PHP работает как Javascript. Где человек явно не понимает, что PHP-это Preproccessor и работает только до отправки страницы.
наглядным примером этого является следующий код, где runCommand() не будет выполняться, когда пользователь нажимает кнопку.
как это было бы в Javascript
Я видел много вопросов как это от новых людей, которые просто не понимают, как работает PHP.
мой вопрос: где находится отличный ресурс, который объясняет, как работает PHP?.
Я хочу иметь возможность перенаправлять людей на страницу, которая может заставить их идти по правильному пути и знать, что такое Preproccessor средства.
(Это также позволяет мне лениться и не писать объяснение каждый раз, когда он появляется, но не говорите кто угодно!)
Если вы не знаете места, которое хорошо описывает это, не стесняйтесь предоставить свою собственную интерпретацию.
As Карл Smotricz указывает, что есть часть PHP, которая может использоваться вне браузера. Но я в основном говорю о среде Apache, где пользователь запрашивает веб-страницу и ожидает получить что-то обратно, обычно в HTML.
Википедия всегда является отличным ресурсом информации. Я предлагаю:
и Википедия также картинки:
возможно, вы тот, кто не понимает, как работает PHP. PHP-это интерпретатор полного языка, и вполне возможно запускать PHP-скрипты без браузера, вне веб-сервера: в командной строке или в среде IDE или другой среде GUI.
препроцессор PHP, о котором вы говорите, является только функцией модуля Apache, который вызывает интерпретатор PHP для этой конкретной ограниченной цели.
PHP-код интерпретируется на стороне сервера, и только вывод вашего PHP-кода будет отправлен клиенту.
поэтому, если запрашивается PHP-файл, веб-сервер отправляет PHP-код интерпретатору PHP, ждет вывода, а затем отправляет вывод обратно клиенту.
короче говоря, PHP принадлежит серверу, он обычно выводит HTML, но это не для этого (или, по крайней мере, не только для этого). Браузер пользователя "видит" только то, что остается после php сделал свое дело.
Javascript принадлежит клиенту (он же браузер): он обычно обрабатывает DOM, созданный путем синтаксического анализа HTML, который (возможно) создается путем выполнения PHP. Javascript может вести себя по-разному в разных браузерах (все, кто написал js-скрипты, знают о кросс-браузерные проблемы, вы помните IE6?) В JavaScript Не могу обрабатывать базу данных сама по себе; она должна полагаться на язык sever-side (php, может быть? ;) (если говорить о узла.в JS)
кстати, AJAX может быть хорошей ссылкой, чтобы понять, что именно делает PHP и что делает JS.
важным отличием является то, что JavaScript в браузере, управляемый событиями. Вот почему обработчик кликов не выполняется сразу при загрузке страницы, например. Javascript также не мог ждать ответа на этот щелчок, если бы не управляемый событиями стиль программирования dom.
Я действительно не думаю, что это то, что подразумевается под термином "препроцессор". различие на стороне клиента / сервера более важно. Например, вы слышали о какой-либо другой стороне сервера язык упоминается как препроцессор при выполнении тех же задач, что и PHP?
PHP-это серверный язык сценариев, который означает, что весь php-код выполняется до отправки страницы на клиентскую сторону. По этой причине вы никогда не увидите
в коде страницы.
на высоком уровне абстракции. Веб-сервер (аппаратное обеспечение) можно рассматривать как компонент из четырех различных частей. Веб-сервер (программное обеспечение, например Apache), файловая система, база данных и PHP плагин.
Так, например, когда вы отправили запрос страницы (для некоторой страницы . /образец.РНР) на веб-сервере Apache попытается найти эту страницу в файловой системе, и если страница существует, он вызовет плагин php для выполнения всех
код (конечно, включая запросы к БД). После этого страница отправляется обратно на клиентскую сторону, где вы можете манипулировать страницей через JavaScript, разработанный с помощью CSS.
причина, по которой PHP скрипты не работают в веб-браузере является только потому, что веб-браузеры не поддерживают PHP (по крайней мере я не знаю). Этот факт не так тривиален, как можно подумать.
и это может показаться тревожным, поэтому взгляните на спецификации HTML на веб-сайте W3C HTML 5 и HTML 4.01 (потому что он имеет более подробные примеры). Что вы можете найти? Что скрипты могут быть написаны на языках, отличных от В JavaScript!
вот пример из документации HTML 4.01 (раздел под названием выбор языка сценариев).
вот более интересный обработчик окна:
в Tcl это выглядит так:
скрипт, написанный на Tcl, отлично подходит для HTML! Как насчет PHP? в HTML5 документации говорит:
агент пользователя для язык сценариев, если каждый компонент типа блока скрипта является ASCII-нечувствительным к регистру совпадение для соответствующего компонента в строке типа MIME a язык сценариев, реализуемый агентом пользователя. (. ) пользовательские агенты могут поддерживать другие типы MIME для других языков, но не должен поддерживать другие типы MIME для языков в списке выше. Агенты пользователей не обязаны поддерживать перечисленные языки выше.
Так это только вверх в веб-браузер (User agent), если он будет поддерживать PHP или нет. Играя с примером W3C, PHP-браузер, возможно, принял что-то подобное.
Итак, причина, почему люди задают такие вопросы не в том, что они не знают, как работает PHP. Это потому что они не понимают веб-технологий в целом. Они терпят неудачу в точке, которая требует понимания того, что, где и почему должно быть выполнено.
Читайте также: