Мой веб-сервер использует PHP, как и 76,9% веб-серверов в соответствии с W3Techs:
http://w3techs.com/technologies/overview/programming_language/all
Причина, по которой я использую PHP, заключается в инерции, возникающей из-за того, что все остальные используют его на веб-серверах. Что такого в PHP, что делает его настолько распространенным на веб-серверах?
(Обратите внимание, что этот вопрос похож на следующий вопрос, но принимает его в другом направлении: почему Java не используется для разработки современных веб-приложений? )
web-development
php
Deets McGeets
источник
источник
Ответы:
PHP - это язык, специально разработанный для веб-программирования со встроенной интеграцией с самой популярной базой данных с открытым исходным кодом MySQL.
Легко начать: начинающему легко начинать с PHP. Пользователь просто должен добавить несколько PHP-тегов с, например, циклом for в существующие HTML-файлы, а затем загрузить его на сервер и посмотреть результат или сообщение об ошибке. Динамическая типизация и ассоциативные массивы также упрощают использование PHP.
Простота в использовании: по сравнению с большинством решений, таких как, например, Java, PHP не нужно компилировать, поэтому достаточно просто написать скрипт, а затем загрузить его на сервер и затем обновить браузер.
Интегрированная поддержка баз данных: PHP имеет (в основном) встроенную поддержку для наиболее популярных баз данных, таких как, например, MySQL, что означает, что легко начать использовать базы данных, не нужно устанавливать никаких дополнительных драйверов, просто для использования функций mysql. Простой в использовании веб-инструмент администратора PHPMyAdmin (выпущен в 1998 году) также важен для успеха PHP в сочетании с MySQL.
Старый язык (с 1995 года) с большой базой пользователей: PHP стал популярным в начале (1995), так как он был разработан для веб-программирования. С тех пор пользовательская база выросла, и теперь доступно множество веб-ориентированных сред и библиотек. Некоторыми примерами являются blogg-системы и электронные торговые платформы.
Дешевый хостинг: поскольку PHP существует уже долгое время и хорошо работает как в Linux, так и в Windows, многие веб-серверы поддерживают его. Нет проблем найти хостинг с предустановленным PHP.
источник
По той же причине MySQL так популярен: он был в нужном месте в нужное время.
После бума серверов Linux в 90-х годах платформа LAMP (Linux-Apache-MySQL-PHP) стала надежным и, что самое главное, бесплатным вариантом.
Как примечание, возьмите MySQL в то время. Это были две недостающие функции из MySQL (на мой взгляд, их может быть больше) не так давно :
Как БД, не совместимая даже с ACID (атомарность-согласованность-изоляция-долговечность), стала настолько популярной? Тот же ответ, что и в PHP: он был в нужном месте в нужное время.
Дальнейшее чтение о «правильном месте и правильном времени» на компонентах LAMP:
источник
Если вы посмотрите вокруг, большинство людей, использующих PHP в наши дни, используют Wordpress, Drupal, Joomla и тому подобное. Или одно из 10000 бесплатных популярных приложений, которые в значительной степени работают из коробки с дешевым хостом PHP и небольшой конфигурацией. Много раз он устанавливается не потому, что кто-то делает что-то, что работает на PHP, а самый простой вариант - использовать что-то построенное на PHP.
источник
Я учу себя PHP прямо сейчас, так что, возможно, я могу ответить.
Файл исходного кода PHP может содержать смесь HTML, JavaScript и PHP, поэтому, кажется, действительно легко запустить и запустить простые веб-приложения. Более сложные взаимодействия, которые требуют много Java в ситуации JSP, или некоторые странные искажения в ситуации CGI-BIN, учитываются встроенными PHP-функциями: вам даже не нужно знать, вызвал ли HTTP GET или POST ваш код, все, что хочет знать ваш код, находится в глобальных переменных _REQUEST, _SERVER или _COOKIE.
PHP-the-langauage анализируется и выполняется довольно быстро, поэтому вы не заметите значительного падения производительности при генерации HTML, а не просто набор статических файлов HTML.
PHP-интерпретатор имеет библиотечные вызовы практически для каждой СУБД с открытым исходным кодом, а также для многих проприетарных, поэтому создание веб-приложения в трехуровневом стиле выглядит легко. PHP-интерпретатор включает библиотечные вызовы для множества других общих ситуаций (также называемых «прецедентами»), поэтому вам не нужно писать много кода самостоятельно, просто вызовите библиотеку. Таким образом, как и в случае с J2EE «корпоративными приложениями», проблема переходит от знания того, как писать код, к знаниям о том, как работать с библиотекой. Этому помогает очень приличное руководство PHP php.net.
Как язык программирования, PHP не имеет много экзотических конструкций или слишком сильно отличается от, скажем, C, FORTRAN 4 или Pascal, поэтому программисты, которые уже знают один язык, могут легко подобрать язык программирования PHP.
источник
Есть два ключевых момента успеха PHP: выбор времени и ориентация на виртуальный хостинг.
В начале сеть была статичной. Веб-серверы могли распространять только предварительно сгенерированный HTML, этого явно было недостаточно через некоторое время, поэтому в 1993 году команда NCSA расширила свой веб-сервер (предшественник Apache httpd) технологией, называемой CGI, которая позволяла вызывать определенные программы с веб-сервера. который может генерировать HTML (или другой контент) на лету. Это было здорово, потому что люди могли делать все. В то время для этой цели широко использовался язык Perl. Perl является сильным языком в обработке текста, который является ключевым свойством для обработки данных HTTP-запроса и создания HTML. Так что люди использовали это.
Но была проблема: для каждого запроса веб-сервер должен был запускать внешнюю программу, Perl должен был инициализировать и запустить скрипт. Это вызвало довольно сильную головную боль. Решение было mod_perl, прибывающий приблизительно. 1997. mod_perl - это модуль для веб-сервера Apache, который встраивает интерпретатор Perl непосредственно в процесс веб-сервера, поэтому никакой дополнительной загрузки не требуется.
Но снова у этого подхода была проблема: mod_perl был чрезвычайно мощным и имел доступ к полной конфигурации сервера. Вы не можете использовать один сервер для размещения нескольких независимых клиентов, поскольку они могут легко навредить другим людям - будь то нарочно или случайно. И вот тут появился PHP.
PHP был построен таким образом, чтобы он мог работать как модуль Apache (таким образом, при каждом запросе не было попадания при запуске), но обеспечивает среду без разделения ресурсов между запросами. Как только запрос был выполнен, вся информация была потеряна, и последующий запрос к другому виртуальному хосту будет обслуживаться независимо. PHP также предлагал функции для ограничения доступа (safe_mode, open_base_dir). При таком архитектурном выборе компании могут установить PHP на своем сервере и предоставить клиентам FTP (или аналогичный) доступ для загрузки своих файлов и тем самым разместить множество клиентов на одной машине без особой работы. Это вызвало конкуренцию, ведущую к дешевым ценам на хостинг на основе PHP, что делает PHP повсеместной платформой.
Кроме того, у PHP было несколько преимуществ по сравнению с Perl, например, возможность смешивать код HTML и PHP или прямой доступ к переменным запроса (см. Также register_globals), что в Perl было сложнее (пользовательский анализ или зависимость от CGI.pm), что понравилось разработчикам.
Еще один аспект, который сделал PHP успешным в те дни, была хорошая поддержка в Windows. Заставить Perl или другие языки работать на Windows было сложно, но в то время многие разработчики, которые использовали Windows дома и виртуализацию или контейнеры, еще не были чем-то особенным. PHP легко запускался в Windows, поэтому люди могли использовать его для разработки, а затем собирать файлы и развертывать в Linux. Например, с помощью Perl вы должны получить правильный дистрибутив Perl, а затем проверить, какие модули доступны вообще и т. Д.
А как насчет других языков? Скомпилированные языки, такие как C или C ++, никогда не набирали обороты, поскольку скриптинг лучше обслуживает быстро развивающийся рынок. Java существовала, но виртуальным машинам Java требовалось гораздо больше ресурсов, а общий хостинг, как это поддерживает PHP, вряд ли выполним. Инвестиции в аппаратные средства были намного выше. ASP (как предшественник ASP.Net) был связан с платформой Windows, ограничивая ее организациями, которые уже используют Windows и которые не боятся затрат на лицензирование, и опять же не имеют поддержки общего хостинга.
Различные другие технологии, которые производились, но либо были коммерческими (Cold Fusion или Netscape Server с серверным JavaScript), ограничивали их охват или не выходили за пределы досягаемости до появления Ruby-on-rails, что, вероятно, было первой средой, получившей много внимание, но к тому времени PHP уже был очень популярен среди большого сообщества и хорошо зарекомендовавшего себя программного обеспечения (такого как Wordpress или Drupal), что усложняло конкуренцию, особенно потому, что разработка PHP никогда не прекращалась и продолжается.
источник
Посмотрим правде в глаза, PHP дешевый, простой в освоении, имеет большое сообщество, вы можете разместить его где угодно, и его было много. Итак, если вы думаете, что кто-то использует Интернет как способ быстро заработать деньги в малой / средней отрасли и вынужден создавать зону разработки для этого практически с несуществующей инфраструктурой, PHP звучит довольно здорово (для начала).
Поэтому я думаю, что PHP - это отличный способ быстро заработать деньги с кучкой программистов и небольшим компьютером в качестве сервера.
источник