Еще раз о росте PHP

Аналитическая компания Netcraft занимается мониторингом веб-серверов с 1995 года, в числе прочего отслеживая применение широкого спектра скриптовых технологий в сети, — с 2001 года. Одной из таких скриптовых технологий является язык PHP, который в настоящее время отмечен компанией Netcraft на более чем 200 миллионах веб-сайтов.

Первая версия PHP была названа Personal Home Page Tools (Tools PHP), когда была выпущена Расмусом Лердорфом в 1995 году. PHP 1 до сих пор общедоступна, ее можно скачать с museum.php.net. При весе в 26 килобайт архив php-108.tar.gz по сегодняшним меркам мал, но позволяет разработчикам создавать гостевые книги и другие формы обработки приложений.

PHP 2 имеет встроенную поддержку для доступа к базам данных, обработку cookie и пользовательские функций. Вторая версия PHP была выпущена в 1997, и уже год спустя около 1% сайтов в интернете использовали технологию PHP.

Третья версия PHP больше всего походила на современную версию PHP. Энди Гутманс и Зив Сураски полностью переписали код интерпретатора и получился совершенно другой язык, который назвали просто – PHP (PHP: Hypertext Preprocessor). PHP 3 увидел свет в 1998 году. Легкость расширения языка сыграла большую роль в его невероятном успехе. Этот аспект привлек множество сторонних разработчиков и обеспечил приток различных модулей.

Энди Гутманс и Зив Сураски продолжали переписывать ядро PHP, в первую очередь, чтобы повысить производительность и увеличить модульность кода. Это привело к созданию, Zend Engine, который был использован в PHP 4, когда он вышел в 2000 году. Новая версия смогла предложить более высокую производительность, к тому же PHP 4 мог быть использован с большинством веб-серверов, поддерживал HTTP-сессии, буферизацию вывода и несколько новых языковых конструкций.

К сентябрю 2001 года в ходе проведенного исследования компанией Netcraft было зафиксировано 1,8 миллионов сайтов, работающих на основе PHP-технологии.

PHP 5 была выпущена в 2004 году и пока остается самой последней версией языка (5.4.11 была выпущена 17 января 2013 года). Ядром системы является Zend Engine 2.

К январю 2013 года, технология PHP использовалась уже на 244 миллионах сайтов, а это означает, что 39% сайтов в мире, по данным обзора веб-серверов компании Netcraft, использовали данный интерпретатор. Из всех сайтов, которые поддерживают PHP, 78% работали на платформе Linux, и всего лишь 8% на FreeBSD. Windows-версию можно загрузить с windows.php.net. На долю Windows приходится 7% PHP-сайтов.

Популярные веб-приложения, которые используют PHP, включают в себя системы управления контентом, такие как WordPress, Joomla и Drupal, а также несколько популярных решений электронной коммерции, как ZenCart, osCommerce и Magento. В январе 2013 года, эти шесть приложений работали на общей сложности 32 миллионах сайтов по всему миру.

Также PHP продемонстрировал большую инсталляционную базу в рамках подсчета компьютеров от Netcraft. Как к одному IP-адресу можно прикрепить много сайтов, так и отдельный компьютер может быть настроен так, чтобы поддерживать несколько IP-адресов. Это исследование позволило выявить уникальные веб-ориентированные компьютеры и используемые операционные системы, независимо от того, сколько сайтов или IP-адресов у них есть. По состоянию на январь 2013 — 2,1 м из 4.3 миллионов веб-ориентированных компьютеров работали под управлением PHP.

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

Методология

Полный список имен хостов из обзора веб-серверов Netcraft лежит в основе нашей технологии отслеживания. Мы делаем запросы на каждый из этих сайтов, или, если есть большое количество сайтов, размещенных на одном IP-адреса, мы используем технику пропорциональной выборки. Содержание каждой страницы и ее HTTP-заголовков анализируются для определения того, какие технологии используются. Для PHP мы ищем ссылки на файлы с .php-расширением или проверяем на ответ HTTP-загловков вида «X-Powered-By: PHP». Дополнительные тестирования сигнатур используются для идентификации конкретных приложений PHP, таких как WordPress.
Каждая метрика затем вычисляется следующим образом:

  • Имена хостов
    Для каждого IP-адреса, по нашим оценкам, берется общее количество сайтов на PHP, и путем вычисления пропорций от общего количества имен хостов, работающих под управлением PHP, мы получаем общее количества хостов на этом адресе. В случаях, когда на одном IP-адресе находится 100 или меньше сайтов, все сайты будут взяты за образцы этого IP-адреса.
  • Активные сайты
    Для обеспечения более информативных метрик, которые подсчитывают количество создаваемых людьми сайтов на основе PHP, наше количество активных сайтов исключает спам-сайты или другие автоматически сгенерированные сайты. Эта методика описана более подробно здесь.
  • IP-адресы
    Эта метрика подсчитывает количество уникальных IP-адресов, где по крайней мере одно имя хоста в наборе образцов определено как PHP-зависимое.
  • Компьютеры
    Один физический или виртуальный компьютер может иметь более одного IP-адреса. Мы в состоянии идентифицировать уникальные компьютеры, которые подключены к сети интернет через несколько IP-адресов. Если IP-адрес запускает PHP, то компьютер, связанный с ним, помечается как использующий PHP-технологию. Дальнейшие подробности этой методологии разъясняется в наших подсчетах хостинг-провайдеров.