PHP مخفف عبارت Hypertext Preprocessor یا پیش پردازنده ابر متن می باشد. این زبان اسکریپت نویسی به همراه HTML به کار می رود و بر خلاف HTML دارای قابلیت پردازش داده می باشد. اگر با HTML آشنا باشید حتما می دانید که HTML یک زبان برنامه نویسی نیست بلکه یک زبان Markup یا نشانه گذاری می باشد و تنها امکان ایجاد صفحات وب را فراهم می سازد که در این صفحات متن ها, تصاویر و لینک ها قرار می گیرد. HTML دارای دستورات مفیدی همچون ارسال یک فرم به سرویس دهند وب می باشد ولی با استفاده از این زبان Markup نمی توان داده ها را پردازش کرد.
PHP در سال ۱۹۹۴ توسط Rasmus Lerdorf که در ابتدا با استفاده از زبان Perl برای نگه داری صفحه خانگی خود نوشته بود نوشته شد و سپس با استفاده از زبان C پیاده سازی شد و در اختیار عموم قرار گرفت. در سال ۱۹۹۸ نسخه ۳ این زبان به وجود آمد و اکنون نسخه ۵ آن در اختیار برنامه نویسان قرار گرفته است.
به طور کلی صفحات وب به دو نوع ایستا (Static Pages) و پویا (Dynamic Pages) دسته بندی می شود. در اوایل دهه ۱۹۹۰ بیشتر صفحات وب به صورت ایستا ایجاد می شدند, این صفحات فقط دارای کدهای HTML بودند و در برابر عملیات های کاربر هیچ واکنشی را از خود نشان نمی دادند و صرفا جهت مطالعه یکسری متون بودند. ولی توسعه دهندگان می خواستند صفحاتی را ایجاد کنند که در مقابل عملیات مختلف کاربر عکس العملی از خود نشان دهند تا با کاربر ارتباط محاوره ای داشته باشند, همچون ایجاد صفحات مخصوصی برای هر کاربر و یا گرفتن داده هایی از کاربر !
با گذشت زمان و به لطف Java Script صفحات وب پویا تر شدند و در مقابل کلیک و یا حرکت موس از خود عکس العملی نشان می دادند.
زبان های اسکریپت نویسی به دو دسته سمت سرویس گیرنده و سمت سرویس دهنده تقسیم می شوند, اسکریپت هایی همچون Java Script در دسته اول یعنی سرویس گیرنده قرار می گیرند و کاربر می تواند آن ها را مشاهده یا با ابزار هایی تغییر دهد, اما زبان PHP در سمت سرویس دهنده می باشد و کاربر هیچ نشانه ای از کد های PHP را نمیبیند بلکه فقط نتیجه پردازش های PHP به شکل HTML را خواهید دید.
ماژول های تابع قابلیت های با ارزشی را به PHP می افزایند و هسته زبان (Zend) نیز کار ترجمه و اجرای کد های PHP را انجام می دهد و سپس سرویس دهنده وب هم امکان ارتباط PHP با سرویس دهنده وب را فراهم می سازد.
یکی از دلایل اصلی استفاده ما از PHP رایگان بودن و در دسترس بودن کد های آن می باشد و تفاوت اصلی آن با زبان هایی همچون ASP و یا ColdFusion در همین مسئله می باشد.