LAMP -- что это в программировании (web, ламп)
Primary tabs
Forums:
LAMP -- набор программных систем, используемых для работы и разработки web-приложений на ЯП PHP.
В него входят:
- Linux -- операционная система
- Apache -- web-сервер
- MySQL -- одна из СУБД
- PHP -- т.е. интерпретатор этого языка
Дело в том, что:
- Linux -- на современных компьютерах программы обычно выполняются внутри глобальной программы -- операционной системы
- Apache -- для приёма http-запроса от программы-клиента (веб-браузера) нужна специальная программа -- веб-сервер (см. о клиент-серверной архитектуре) -- то есть вам не достаточно просто интерпретатора php. В данном случае (в lamp), таким веб-сервером является Apache.
- PHP -- его интерпретатор, как-то взаимодействуя с веб-сервером (а такие способы взаимодействия могут быть различными -- см. о SAPI и его видах), позволяет этому веб-серверу не просто отдавать статические html-страницы или иные файлы, но и выполнять сложную программную логику (а html отдавать как результат выполнения таких php-программ).
- MySQL -- предоставляет услуги по обработке данных, часто используется в сложным приложениях (чтобы управлять этой системой нужно давать команды на языке SQL), но в теории (если бы её не было) можно обойтись просто записью данных в файл на диск.
Изложенное выше можно проиллюстрировать такой схемой (работа LAMP во взаимодействии клиентом):
Обратите внимание на то, что:
- по сути для формирования минимального сервера (в смысле компьютера), нам необходима лишь операционная система и какой-то веб-сервер (т.е. первые два пунка из последнего списка), а вот следующие 2 являются просто "бонусами" позволяющими создавать более сложные вещи.
- Также следует отметить, что mySQL обычно никогда не взаимодействует с веб-сервером на прямую, а взаимодействие это происходит опосредованно "через приложение", которое, опять же, пишется на каком-то языке программирования (в нашем случае это PHP)
Рассмотрим ещё пару иллюстраций:
- На этой схеме показано, что в рамках LAMP и PHP и Apache взаидмодействуют с файловой системой Linux, а также раскрыты подробнее детали работы браузера, который обладает модулями интерпретации языка разметки HTML, языка стилей CSS и языка программирования JavaScript:
- На схеме ниже показана общая схема для работы PHP в качестве серверного (бэкэнд) языка:
-- тут не конкретизирована ОС сервера, а также какая именно программа (веб-сервер) служит "привратником" для php-интерпретатора (то есть, это может быть другой набор, например lemp), но зато тут показано, что php может взаимодействовать не только с СУБД ("Database" на схеме), и с файловой системой на сервера (создавать файлы, например), а также с другими программами/службами запущенными на компьютере -- типа почтового сервера ("Mail Server"), показанного на схеме.
Дополнительные материалы
- Log in to post comments
- 5931 reads