ерша версія випущена в 1995 році під ім'ям «Інструментарій Персональних Домашніх Сторінок», потім вона була перероблена і названа PHP / FI Version 2 (FI - модуль обробки даних для форм). Також була додана підтримка баз даних mSQL. З цього моменту в розробці стали брати участь добровольці.
Статистика використовуваного РНР приблизна, але, згідно з дослідженням, проведеним Netcraft, на початку 2001 року РНР використовувався на більш ніж 5 300 000 сайтах по всьому світу. Для порівняння: у цей час число IIS серверів було приблизно таким же (5 млн.). Розробка інтерпретатора РНР прийняла форму організованого командного процесу, ядро ??інтерпретатора розробляє компанія Zend. При цьому РНР поширюється вільно: його останню версію можна завантажити з сайту PHP. Модулі РНР поставляються в комплекті з сервером Apache, в комплектах систем Linux.
Спочатку абревіатура РНР означала Preprocessor of Home Pages - препроцесор домашніх сторінок. Це мова впроваджуваних в HTML-сторінки сценаріїв, виконуваних на сервері. Здебільшого його синтаксис запозичений з таких мов, як С, Perl, Java, і при цьому додана маса можливостей, яких цим мовам бракує. Простіше кажучи, синтаксис РНР - це розумна альтернатива і строгості С, і «безмежності» Perl.
РНР наділений практично повним набором функціональності, про яку (до появи РНР) міг тільки мріяти web-програміст. Його мета - дозволити максимально швидко створювати динамічно генеруються web-сторінки. З повною підставою можна заявити, що вивчення і використання РНР буде вигідно як початківцям, так і професійним програмістам.
Основними конкурентами РНР є технології JSP (Java Server Pages і Java Scriptlets), ASP (Active Server Pages), Perl, SSI (Server Side Includes), Cold Fusion Server Pages.
Розглянемо ті недоліки, які притаманні зазначеним технологіями. JSP - досить складний для вивчення та використання мову. ASP, заснований на синтаксисі VBScript (Visual Basic), має всього кілька десятків власних функцій і тому змушений використовувати СОМ-об'єкти; крім того, він орієнтований виключно на роботу під Windows. Perl - мова головоломний, і його вольності ускладнюють його розуміння. SSI дозволяє всього лише компонувати HTML-сторінку з декількох файлів. CF - комерційний продукт, що є його основним недоліком.
Основні переваги РНР:
безкоштовний; постійно вдосконалюється; працює на UNIX та Windows платформах;
допускає роботу з більшістю СУБД;
має широкий набір функцій (більше 3 тис.);
допускає об'єктно-орієнтоване програмування;
здатний використовувати протоколи HTTP, FTP, ШАР, SNMP, NNTP, РОРЗ, net sockets та інші;
дозволяє виконувати всі операції, що і перераховані його конкуренти, і навіть працювати з файлами графіки. Можна також запускати РНР-скрипти як інтерпретуються файли і компілювати виконувані додатки (у тому числі з підтримкою графічного інтерфейсу GTK).
Якщо ви виявите, що РНР не здатний на щось (або працює не так, як вам хотілося б), ніхто не перешкоджатиме вам вносити у вихідний код РНР (написаний на С) бажані зміни. РНР є програмним продуктом з відкритим вихідним кодом, та внесення до нього поліпшень і доповнень шляхом створення власних модулів розширення завжди ві...