Php не работает в браузере

Обновлено: 07.07.2024

мы все видели много вопросов о StackOverflow, которые основаны на идее, что PHP работает как Javascript. Где человек явно не понимает, что PHP-это Preproccessor и работает только до отправки страницы.

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

как это было бы в Javascript

Я видел много вопросов как это от новых людей, которые просто не понимают, как работает PHP.

мой вопрос: где находится отличный ресурс, который объясняет, как работает PHP?.

Я хочу иметь возможность перенаправлять людей на страницу, которая может заставить их идти по правильному пути и знать, что такое Preproccessor средства.

(Это также позволяет мне лениться и не писать объяснение каждый раз, когда он появляется, но не говорите кто угодно!)

Если вы не знаете места, которое хорошо описывает это, не стесняйтесь предоставить свою собственную интерпретацию.

As Карл Smotricz указывает, что есть часть PHP, которая может использоваться вне браузера. Но я в основном говорю о среде Apache, где пользователь запрашивает веб-страницу и ожидает получить что-то обратно, обычно в HTML.

Википедия всегда является отличным ресурсом информации. Я предлагаю:

и Википедия также картинки:

enter image description here

возможно, вы тот, кто не понимает, как работает 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. Это потому что они не понимают веб-технологий в целом. Они терпят неудачу в точке, которая требует понимания того, что, где и почему должно быть выполнено.

Почему не работает PHP?

Самый частый вопрос, который мне приходилось видеть и слышать - это "почему не работает 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 (да и другие пакеты тоже).


Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

Как запускать PHP-код

Данную статью я решил посветить всем начинающим изучать PHP, потому что у всех возникает одна и та же ошибка. Почему её допускают, не знаю, но допускают постоянно. Я без преувеличений скажу, что получил уже около сотни вопросов, на которые ответ будет дан в этой статье. Эта ошибка связана с неправильным запуском в PHP.

Как делают практически все новички:

  1. Создают PHP-файл (иногда HTML-файл, но это самые новички).
  2. Записывают туда PHP-код.
  3. И двойным кликом пытаются открыть его в браузере.

Результат, браузер код открывает, но исполнять его не торопится. А просто выводит какие-то куски кода обычным текстом, либо вообще ничего не выводит.

Ошибка данного подхода состоит в том, что ученик не понимает, что PHP - это серверный язык, а не клиентский. Это HTML или JavaScript клиентские языки, они, конечно, обрабатываются браузером. Но для PHP нужен интерпритатор. И вот данный интерпритатор запускается сервером.

Вывод: запускать PHP-код надо через сервер. Если у Вас Denwer, значит, через него.

Теперь, как запускать PHP-код через Denwer. Большинство новичков вновь делают ошибку. Они вроде бы всё делают правильно, создают нужные папки, перезапускают Denwer и вроде бы, осталось только правильно вызвать файл. Но тут снова ошибка: они вновь открывают файл просто в браузере (либо перетаскиванием файла в браузер, либо двойным кликом). Это легко можно заметить по адресу в адресной строке. Там будет что-то наподобие: file:///Z:\home\mysite.local\www\script.php.

Надеюсь, данная статья поможет многим новичкам, только начинающим изучать PHP.


Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

Она выглядит вот так:

Комментарии ( 49 ):

Установил Denwer, всё сделал как сказано, но PHP в браузере не выводится

Файлы имеют расширение php? Сайты вообще открываются (например, HTML-код)? Если всё так, то скопируйте адрес из адресной строки и покажите его.

Большое Вам спасибо Михаил! С вашей помощью мне наконец удалось решить данную проблему.

Михаил, для меня PHP ещё тёмный лес. Как я понял, для выполнения кода PHP страница должна иметь расширение *.php. А почему тогда у вас страницы на сайте с расширением *.html?

. у меня броузер не открывает страницу с шасширением php ,а пытается сохранить ! что делать ?

Скопируйте адрес из адресной строки.

спасибо,заработало. но пшп браузер не хочет кушать ,пишет следующее: HTML1406: Недопустимое начало тега: "<?". Теги не должны начинаться с вопросительных знаков. что делать ?

Попробуйте в другом браузере.

Создаю документ с расширением php. Пишу для проверки такой php-код: <?php $a = 5; echo "$a"; ?> В браузере, если я понимаю правильно, я должен увидеть 5. и мне показывает 5 но когда я выключаю denwer и включаю и мне уже не выдает 5 а весь код выдает ??

Для работы PHP необходим denwer.

Спасибо, щас PHP код заработал.

Вам не нужно ничего менять. Изменяете файл как обычно, сохраняете (ctrl+s) и параллельно смотрите изменения в браузере, где и открыт mysite.local.

Михаил я не много не понял,файлы с кодировкой изменять или где?просто в браузере вот такое file:///Z:/home/mysite.local/www/index.php а название файлов например вот такое index.php,так как и что изменять?за ранее спасибо.

Почитайте статью. В браузере не должно быть такого адреса, это не адрес локального сервера.

Михаил какую статью прочитать?эту?,а вы можете подсказать как изменить?а то догадками как то не понятно))

Здравствуйте. пожалуйста помогите запустить файл php. сделал все строго по инструкции. в конечном итоге браузер мне пишет к сожaлению google не может открыть страницу. что делать

А у меня такая проблема. когда устанавливал Denwer - все сделал правильно. Потом начал набирать сайт по видеоуроку "основы HTML". переименовал все страницы в php. запускал сайт через mysite.local в браузере - без проблем. Теперь решил создать сайт (так сказать урок номер 2) с использованием связанного стиля CSS. но я просто удалил из папки www на сервере все файлы первого сайти и закинул туда новые, включая index.php, фаил стилей .css и т.д. Так вот теперь запускаю в браузере mysite.local, все работает, но отображается только голимый html. в чем проблема. и заново www создавал, делал все что в статьях написано - не помогает. Что делаю не так?

Обращайтесь в службу поддержки.

Стили вообще подключены? Если нет, то ошибка в коде

Да, правильно, чтобы в браузере в адресной строке было"Веб" а не "Локальный". Просто php какой-то левый. С другим пошло.

Я изменил, ссылку с под название своего сайта, но она почему то не работает? С уважением Евгений Голубев.

не дублируйте комментарии в службу поддержки и сюда.

Здравствуйте!! Вопрос такого плана, когда поменял расширения файлов html на php на сайте вместо текста сразу вылезли абракадабрики, отчего??

Возможно надо сохранить код сайта в notepad++ а сверху в пункте меню кодировка выбрать utf-8 without BOM. Также надо создать файл .htaccess и в нем прописать AddDefaultCharset UTF-8

помогите и мне пожалуйста, 1 страница именно после создания меню html и переименования php страницы в разделе меню выдает абрыкадабры, 2 страница нормально. и коды переставила, ничего не помогает. если создавать файл где конкретно и как

все в порядке, именно в первой странице в кодировке спустилась ниже и нажала преобразовать в utf-8, хотя для остальных страниц достаточно было нажать просто utf-8, может кому то будет полезным! : )

СПАСИБО УВАЖАЕМЫЙ. ОЧЕНЬ ПОМОГЛА ВАША СТАТЬЯ. из всего что нашла в инете именно ВАША спасла меня!! СПАСИБО 1000раз.

В вашем уроке по РНР с нуля до гуру я приступил к написанию движка и в результате имел много ошибок при выводе страницы. Когда я их исправил у меня вышел только пустой экран. Существует ли какойто способ проверки каждого класса на роботоспособность? Возможно ли проверять работу функций во время их написания?

Включите максимальное отображение ошибок.

Помогите пожалуйста: когда всё сделал от и до, браузер пишет веб-страница не доступна. Почему? Может какие то хост права разрешить или что то вроде этого?

Современные Интернет решения очень часто требуют использования языка программирования, в том числе и PHP. Но зачастую возникают проблемы с запуском приложений на PHP. Очень часто мне задают вопросы с проблемами в работе PHP в других статьях. Итак, почему не работает PHP? Рассмотрим несколько вариантов.

Неверно настроен сервер для работы PHP

Неправильный запуск файла PHP

Многие пытаются запустить приложение на языке программирования PHP двойным щелчком мыши на файл, т.е. пытаются запустить его как HTML. Поэтому PHP не работает. Обращаю ваше внимание на то, что PHP это серверный язык программирования и для его работы вам потребуется как минимум наличие локального сервера (как его установить я описал выше в статье), а как максимум - использование платного или бесплатного хостинга. Для запуска таких приложений используется адрес локального сервера, например localhost. Кстати говоря, в обоих вариантах и первом и втором при неправильном запуске приложения PHP вы увидите его код прямо в браузере. Это и означает, что у вас неверно настроен локальный сервер.

Ошибки в программе PHP

Не работает приложение PHP и отображается пустой экран? В этом случае вы, скорее всего, верно настроили PHP, но в вашем приложении имеются ошибки. Дело в том, что стандартные настройки PHP работают таким образом, что при возникновении ошибок отображается просто белый экран и приложение не запускается. В первую очередь вам нужно увидеть, что не так в вашем приложении. Для этого в ваш PHP код потребуется вставить несколько строк кода.

Этот код позволяет отображать все ошибки при работе приложения. Таким образом, вы сможете увидеть проблемы в работе скрипта и устранить их.

Установка Apache с PHP (XAMPP) на Windows

В первую очередь для установки сервера Apache с преднастроенным PHP вам потребуется загрузить его с официального сайта по ссылке. Далее нужно выбрать, например, загрузку для Windows (см. рисунок).



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

Теперь нам нужно проверить работу своего приложения PHP на локальном сервере под Windows. Для этого открываем папку "xampp" на диске C, в ней нужно перейти в папку "htdocs".


Обратите внимание на работу функции echo PHP. Она передает HTML строку, а браузер выводит ее на экран. Результат работы скрипта PHP отображен на рисунке ниже.

Итак, основными проблемами в ситуации, когда не работает PHP являются: неправильная настройка или отсутствие сервера приложений с преднастроенным PHP, ошибки в написанном приложении. Следуя инструкциям выше, вы сможете решить проблему и беспрепятственно работать с языком программирования PHP. Не забывайте о том, что нужно стараться использовать последние версии PHP, так как многие новые функции не будут работать в старых версиях приложения.

Читайте также: