در این بخش با روش اجرای برنامه های پی اچ پی آشنا می شوید ، زبان پی اچ پی یک زبان برنامه نویسی سمت سرور است به این معنی که کدهای PHP توسط سرویس دهنده اجرا شده و خروجی آنها به سرویس گیرنده ارسال شده و نمایش داده می شود. در نتیجه برای برنامه نویسی PHP باید سرویس دهنده وب وجود داشته باشد.
روش اجرای برنامه های PHP
در هر ارتباط شبکه ای کلاینت/سرور دو نوع سیستم شرکت دارند:
سرویس گیرنده – سيستمي که بتواند از سرويس دهنده وب درخواست سرويس کند. معمولا وظيفه مرورگر است که با درخواست يک صفحه وب با سرويس دهنده ارتباط برقرار کرده و نتيجه دريافتي را نمايش مي دهد.
سرویس دهنده – سیستمی است که دارای نرم افزارهای یا سرویس های خاصی بوده و می تواند به درخواست های سرویس گیرنده پاسخ دهد. سرویس دهنده های مختلفی وجود دارد.
اسکریپت (برنامه ) های PHP روی سرویس دهنده وب قرارگرفته و توسط مرورگر از روی سرویس گیرنده درخواست می شوند. در عمل سرویس دهنده و سرویس گیرنده می توانند روی یک سیستم باشند یا روی دو سیستم مجزا قرار بگیرند در هر صورت ارتباط آنها به شیوه کلاینت/سروری و براساس پروتکل کاربردی HTTP می باشد.
شکل زیر ارتباط بین کلاینت و سرور را در پروتکل HTTP نشان می دهد:
سرویس دهنده هایی که در وب استفاده شده و برنامه های پی اچ پی را میزبانی می کنند دارای سه نوع خدمات هستند:
1- سرويس دهنده وب (Web Server)
برنامه یا سرویسی است که بر روي يک سرويس دهنده اينترنتی و يا کامپيوتر محلي در حال اجرا بوده و به درخواست هاي HTTP (در خواست هایی که بوسیله مرورگر فرستاده می شود ) پاسخ مي دهد. برای راه اندازی سرویس دهنده وب کافی است یکی از نرم افزار ها یا سرویس های زیر را روی ان نصب و استارت کنیم.
IIS : يکي از اجزاي سيستم عامل ويندوز 2000 و بالاتر که مي توان آنرا فعال نمود.
Apache : يک سرويس دهنده وب کوچک و قدرتمند براي کار در محيط هاي ويندوز و لينوکس
بنابراین برای اینکه یک کامپیوتر بتواند نقش سرویس دهنده وب را بصورت محلی یا در شبکه داشته باشد باید یک نرم افزار وب سرور مثل IIS یا Apache را روی آن نصب و فعال کنیم. ولی معمولاً برای برنامه نویسی پی اچ پی از وب سرور آپاچی استفاده می کنند. تا بتوانند در محیط لینوکس هم اجرا شوند.
2- سرویس دهنده کاربردی(Application Server)
برای اجرای دستورات برنامه نویسی به هر زبان نیاز به یک مفسر، کتابخانه ها و ابزارهای مخصوص آن است. سیستمی که این امکانات را داشته باشد می تواند برای اجرای برنامه ها استفاد شده و سرویس دهنده کاربردی گفته می شود. برای اجرای برنامه های نوشته شده به زبان PHP ، باید مفسر زبان PHP روی سیستم نصب شده باشد.
3-سرویس دهنده داده (Data Server)
مجموعه ای از امکانات نرم افزاری برای دسترسی برنامه های کاربردی به بانک های اطلاعاتی است که وظيفه دريافت دستورات و اجراي آن بر روي بانک اطلاعاتي و برگرداندن نتايج به برنامه درخواست کننده را برعهده دارند. معمولا اين سيستم ها در خواست ها را با زبان SQL دريافت مي کنند و قادرند آنها را تفسير و اجرا کنند. نتيجه دستور SQL ممکن است يک مقدار منطقي مبني بر اجراي موفقيت آميز دستور يا وقوع خطا بوده و يا يک مجموعه سطر از يک يا چند جدول اطلاعاتي باشد.يکي از اين سيستم ها MySQL است که سازگاري بسيار زيادي با سرويس دهنده apache و زبان PHP دارد.
انتخاب نرم افزارها برای برنامه نویسی پی اچ پی
بر اساس مطالب فوق به این نتیجه رسیدیم که برای برنامه نویسی پی اچ پی، نیاز به نصب و راه اندازی سه نرم افزار زیر دارید:
Apache – بعنوان وب سرور
MySQL – بعنوان دیتاسرور
PHP – بعنوان زبان برنامه نویسی
یک مرورگر برای ارتباط با سرور و درخواست اجرای برنامه های PHP .
حالا چه همه این امکانات روی یک سیستم قرار داشته باشند یا آپاچی و مای اس کیوال و پی اچ پی روی کامپیوتر سرور و مرورگر روی سیستم کلاینت، باید درخواست صفحات وب توسط مرورگر به آدرس سرور آپاچی فرستاده شود، پاسخ به مرورگر برگردانده و نمایش داده شود.
در پروتکل HTTP ، ابتدا سرويس گيرنده به عنوان شروع کننده ارتباط درخواستي (Request) را به سرويس دهنده ارسال کرده و سرويس دهنده وب با گرفتن درخواست آنرا بررسي نموده و اگر درخواست براي يک صفحه html بود محتواي فايل درخواستي را بعنوان پاسخ (Response) به سرويس دهنده برمي گرداند و چنانچه درخواست مربوط به يک اسکريپت اجرايي (برنامه پی اچ پی ) بود با کمک سرويس دهنده کاربردي خاصي(مفسر زبان پی اچ پی ) اسکريپت را اجرا کرده و خروجي ان که با قالب HTML است را به مرورگر برگشت مي دهد.
شکل زیر نحوه درخواست، اجرای آن و برگشت نتیجه را برای برنامه های php نشان می دهد:
به طور خلاصه مراحل اجرای یک برنامه پی اچ پی بصورت زیر است:
مرحله 1: کاربر آدرس راه دور و نام برنامه پی اچ پی(http://blog.webaca.ir/list.php) را در نوار آدرس مرورگر نوشته و درخواست می کند.
مرحله 2: مرورگر درخواست را به شبکه می فرستد. بعضي اوقات سرويس گيرنده به همراه درخواست (request)مجموعه اي از اطلاعات دريافتي از يک فرم اطلاعاتي یا اطلاعات دیگری را هم به سرويس دهنده ارسال مي نمايد.
مرحله 3: درخواست بر اساس آدرس تعیین شده تحویل کامپیوتر سرور می شود و چون پروتکل HTTP را دارد تحویل برنامه وب سرور می شود.
مرحله 4: وب سرور محتوای فایل درخواستی را از هارد دیسک می خواند.
مرحله 5: پسوند فایل بررسی می شود و چون PHP است برای اجرای آن از مفسر زبان پی اچ پی کمک گرفته می شود.
مرحله 6: مفسر PHP دستورات برنامه را اجرا می کند.
مرحله 7: اگر برنامه دستوراتی برای کار با بانک اطلاعاتی داشته باشد، از MySQL برای اجرای درخواست ها کمک گرفته می شود. MySQL با بانک اطلاعاتی که روی هارد دیسک قرار دارد در ارتباط بوده و دستورات را روی آن اجرا می کند.
مرحله 8: نتایج حاصل از بانک اطلاعاتی (مثلاً لیست رکوردها) به مفسر PHP برگردانده می شود. و مفسر پی اچ پی نتایج را در صفحه درج می کند.
مرحله 10 : نتیجه اجرای برنامه که یک صفحه HTML است به سمت کلاینت فرستاده می شود.
مرحله 11: مرورگر صفحه وب را به کاربر نمایش می دهد.
در جلسه بعد روش نصب نرم افزارهای Apache ، MySQL و PHP را آموزش خواهیم داد.