PHP — мова розробки програмного забезпечення для Web, написаний розробниками Web і для розробників Web.Сама назва PHP є рекурсивним скороченням від PHP: Hypertext Preprocessor (препроцесор гіпертексту PHP).Первоночально цей програмний продукт іменувався Personal Home Page Tools, і багато хто до цих пір вважають, що аббоевіатура PHP розшифровується саме так.Але з часом появи першої версії PHP область застосування цієї мови значно розширилася, тому з загальної згоди спільноти користувачів PHP було прийнято нове і більш прийнятне визначення яке стало рекурсивним, в стилі GNU — GNU’s Noy Unix, або GNU — не Unix).в даний час використовується п’ята основна версія РНР, яка скорочено позначається як РНР5, але може також позначатися просто як РНР.
РНР — це серверний мова сценаріїв, який може бути впроваджений в код HTML для розгортання в браузері.Ще один варіант використання сценаріїв на цій мові може передбачати їх автономне виконання (але набагато ширше застосовується перший варіант).До цієї категорії належать також такі програмні продукти, що знаходяться у власності окремих компаній, як Active Server Pages (ASP) компанії Microsoft, ColdFusion компанії Macromedia і Java Server Pages (JSP) компанії Sun.У деяких журналах з програмування мова РНР часто називають мовою ASP з відкритим вихідним кодом, оскільки цей програмний продукт за своїми функціональними можливостями аналогічний програмного продукту Microsoft.Але таке формулювання вводить в оману, оскільки мова РНР був розроблений раніше, ніж ASP.А протягом останніх кількох років застосування РНР і серверних засобів Java розширюється, тоді як сфера використання ASP звужується, тому зазначене порівняння стає ще більш неприйнятним.
Технології підтримки серверних сценаріїв розглядаються більш докладно в розділі 2, а при вивченні цього розділу досить керуватися визначенням серверного сценарію як сукупності супердескріпторов HTML або невеликих програм, які виконуються всередині Web-сторінок, але не в браузері, а на сервері, перед відправкою в браузер.Наприклад, код РНР можна використовувати в коді HTML для введення загальних верхніх і нижніх колонтитулів у всі сторінки сайту або для збереження даних, введених в форму, в базі даних.
Строго кажучи, мова РНР практично не застосовується для створення компонування, обробки подій, виконання маніпуляцій з елементами об’єктної моделі документа (Document Object Model — DOM), а також фактично не впливає на те, як виглядає Web-сторінка або які звуки на ній відтворюються.Насправді основна частина дій, які виконуються в коді РНР, залишається непомітною для кінцевого користувача.Зокрема, перегляд сторінки, створеної за допомогою мови РНР, аж ніяк не дозволяє судити про те, що для написання коду цієї сторінки застосовувався якась інша мова, крім HTML, оскільки
зазвичай результатом відтворення коду РНР є код HTML.
В даний час програмне забезпечення підтримки мови РНР формально введено у вигляді окремого модуля до складу програм HTTP-сервера Apache, домінуючого на ринку безкоштовного Web-сервера, який застосовується для обробки близько 67% трафіку World Wide Web (згідно широко відомому аналітичному огляду, що стосується застосування Web-сервсров різних типів, який підготовлений компанією Netcraft).Це означає, що машина підтримки сценаріїв РНР може бути вбудована безпосередньо в сам Web-сервер, що сприяє прискоренню обробки, більш ефективному розподілу пам’яті і значного спрощення супроводу.Інтерпретатор мови РНР, як і сервер Apache, повністю забезпечує експлуатацію додатків на різних програмних і апаратних платформах.Це означає, що додатки, написані на цій мові, можуть експлуатуватися в своєму безпосередньому вигляді у багатьох різновидах операційної системи Unix, в різних версіях операційної системи Windows, а з недавнього часу — в операційній системі Mac OS X.Всі проекти, що розробляються під егідою фонду Apache Software Foundation, включаючи РНР, є програмне забезпечення з відкритим вихідним кодом.