Святая троица: PHP, MySQL и Apache

Любомир Гайдамака , 10 августа 2001 г.

1. Что такое РНР

PHP - (официально "PHP: Hypertext Preprocessor") - платформо-независимый, исполняющийся на сервере, HTML связанный язык скриптов. Что это означает? Вот простой пример, который взят из официального руководства по РНР:

<html>
<head>
<title>Пример РНР скрипта</title>
</head>
<body>
<?php echo "Привет, я ваш первый PHP скрипт!"; ?>
</body>
</html>

Заметьте, как этот скрипт отличается от уже ранее известных вам CGI скриптов на языках Perl или C. Вместо того, чтобы прописывать множество строк для вывода HTML, вы просто вставляете кусочки скрипта в соответствующие места в вашем HTML документе для того, чтобы выполнить какое-то действие (в даном случае вывести текст "Привет, я ваш первый PHP скрипт!"). Удобно, правда?

Места вставки кода начинаются и заканчиваются специально определенными тэгами. Вы всегда должны начинать место вставки тэгами <? или ?php и заканчивать ?>.В противном случае РНР будет выдавать ошибку и скрипт не будет выполняться. Это как в песне: "Нажми на кнопку - получишь результат!".

Вы можете спросить, а чем РНР лучше того же Javascript? Какая разница? А разница большая: РНР исполняется на сервере, а Javascript - на машине клиента. К примеру, никто не сможет посмотреть код РНР скрипта, если Вы того не желаете - виден лишь результат его работы в отличие от "легкодоступного" Javascript.

Более того, Вы можете настроить Ваш WWW сервер таким образом, что любая WWW страница будет обрабатываться РНР процессором - и никто не догадается, что страничка с расширением *.html работает как РНР скрипт. Неужели это не замечательно? Кстати, разработчики из компании Zend обещают в ближайшее время выпустить коммерческий компилятор для РНР, Вот тогда Вы сможете разрабатывать свои продукты, компилировать их и отдавать (или продавать) своим клиентам, которые не смогут без Вашего согласия посмотреть код скрипта. Реальная защита от пиратов и разных нечестных людей!!!

2. Что может РНР

РНР способен делать все, что делают другие CGI программы. РНР скрипты могут собирать и обрабатывать данные из форм, генерировать динамические странички, принимать и получать файлы "cookies", работать с сессиями и т.п.
Но, пожалуй, самая сильная и наиболее развитая сторона РНР - это работа с базами данных. Написание скрипта, который взаимодействует с базой данных - задача очень несложная, если делать это на PHP. Вот список баз данных, которые поддерживаются РНР в настоящее время:

Adabas D InterBase Solid
dBase mSQL Sybase
Empress MySQL Velocis
FilePro Oracle Unix dbm
Informix PostgreSQL

В РНР хорошо развита поддержка различных протоколов, таких как IMAP, SNMP, NNTP, POP3 и даже HTTP. Вы также можете устанавливать прямые соединия к разным сокетам и взаимодействовать с ними.Кроме того, в среде Unix (в меньшей мере, в Windows) реализована возможность работать с системными командами и обрабатывать результаты их выполнения. В общем, РНР - очень легкий в изучении, надежный и "могучий" язык.

3. Что такое Apache

Apache - это один из наиболее распространенных и удобных WWW серверов в мире. Первоначально Апаче базировался на коде и идеях, которые применялись в очень популярном HTTP сервере NCSA httpd 1.3 (начало1995). С того времени Апаче очень сильно продвинулся, и сейчас он может конкурировать с любым из известных HTTP серверов в среде UNIX с точки зрения функциональности, эффективности и скорости.

По данным Netcraft и E-Soft , HTTP сервер Апаче - один из наиболее используемых и безопасных серверов в мире. Код Апаче распространяется по лицензии GNU, так что каждый вправе бесплатно загрузить и установить его на свой компьютер. Помимо всего прочего, Вы можете свободно изменять код (чего я лично делать не рекомендую).

4. Что такое MySQL

И, наконец, MySQL.

MySQL - это сервер базы данных SQL (язык структурированных запросов). SQL является одним из самых популярных языков баз данных в мире (Вы заметили, что все програмное обеспечение, о котором идет речь в этой статье, самое лучшее или самое популярное? Делайте вывод!). MySQL - это воплощение связи "клиент - сервер", которая состоит из сервера mysqld и множества разных клиентских програм и библиотек.

Основными целями для MySQL выступают скорость и ошибкоустойчивость.

База, на которой был создан MySQL, является набором задач, которые успешно использовались в высокотребовательной среде в течение многих лет. Несмотря на то, что MySQL по сей день интенсивно развивается, он уже предоставляет целый ряд удобных функций и инструментов для эффективной работы. Для среды Unix продукт распространяется бесплатно, а для Windows надо покупать лицензию, хотя разработчики и предоставляют "шароварную" версию этой базы данных, которая не так надежна и ошибкоустойчива, как лицензированная и более новая версия.

Правильное произношение MySQL - "Май ЭсКьюЕл". Дерзайте!

5. Где это все можно достать?

Самая свежая версия РНР на сайте http://www.php.net/downloads.php. Рекомендую ставить РНР4.0.X. - на мой взгляд, это самый надежный дистрибутив. Кстати, все следующие статьи будут, в основном, о РНР4, - это более новая версия, и все, что применимо к РНР3, можно применить и к РНР4. Еще вам может понадобиться оптимизатор кода РНР Zend Optimizer, который выложен на сайте Zend. Только следите за тем, чтобы версия оптимизатора совпадала с версией вашего РНР, а также с типом операционной системы, иначе он не будет работать.

Самую свежую версию Апаче можно взять на сайте http://www.apache.org/ или на сайте Russian Apache. Рекомендую брать версию 1.3.12 как наиболее стабильную.

Для Unix среды смело берите самый последний релиз c официального сайта MySQL. Когда писалась эта статья, то MySQL перешел на лицензию GNU General Public License (GPL), что означает, что все релизы, начиная от версии 3.23.19 являються бесплатными для пользователей как Windows, так и Unix.