PDA

نسخه کامل مشاهده نسخه کامل : CGI چیست؟



Life24
31-03-2013, 14:57
سلام
دوستان CGI چیست؟

Thor God
31-03-2013, 16:20
دقیقا نمیدونم ولی فکر کنم به کد های php که باهاش پایگاه داده رو پردازش می کنن می گن cgi

supermax15
31-03-2013, 16:34
فک کنم یه نوع فرمت باشه

Life24
01-04-2013, 11:27
سلما
کسی به نتیجه خوب و کاملی رسید؟

Thor God
01-04-2013, 11:35
داش همین که خودم میگمه ... میخوای منبع هم بگم ؟

Life24
01-04-2013, 13:21
داش همین که خودم میگمه ... میخوای منبع هم بگم ؟

داداش میخواهم یک مثال عملی یا یک توضیح با عکسی چیزی
حداقل بفهمیم چی به چی هست :n02:

neopersia
01-04-2013, 20:45
CGI یک پروتوکل برای سرورهاست که سرور اطلاعات ورودی رو میگیره و طبق استاندارد به همراه یک سری اطلاعات از محیط اجرای برنامه در قالب پارمترها به یک برنامه خارجی پاس میده. اون برنامه هم داده ها رو پردازش میکنه و خروجی مناسب رو میده. حالا این برنامه CGI میتونه به زبان perl نوشته شده باشه یا php باشه یا حتی با C.

برای مثال در سیستم عامل لینوکس آپاچی تحت یک یوزر اجرا میشه. اگر با mod_php که پیشفرض هست سایت اجرا بشه همه اسکرپتها تحت یوزر آپاچی اجرا خواهند شد.
برای اینکه هر اسکرپتی با پرمیشنهای یوزر متفاوتی اجرا بشه از mod_fcgid استفاده میکنند که php رو به صورت CGI اجرا میکنه. در این حالت فایل اجرایی php-cgi مسئولیت اجرای همه اسکرپتها رو بر عهده میگیره.
برای هر یوزر مختلف هم یک پردازش مجزا از php-cgi باز میشه که جدای از پردازش آپاچی با پرمیشنهای یوزر مورد نظر اجرا میشه.
وقتی کاربر از سایت 1 درخواست میده، آپاچی درخواست رو تحویل میگیره و اطلاعات رو به php-cgi مربوط به یوزر سایت 1 پاس میده و کار آپاچی تموم میشه. php-cgi هم کار اجرای برنامه و ارسال خروجی رو انجام میده.
اگر از سایت 2 درخواست بیاد همین مراحل تکرار میشه منتها آپاچی دیگه به اون پروسس قبلی کاری نداره و اطلاعات رو میده به نسخه ای از php-cgi که برای یوزر سایت 2 باز شده...

حالا به جای این php-cgi شما اصلاً میتونی یه برنامه خودت با هر زبانی که سیستم عامل سرور بتونه اجرا کنه متناسب با CGI بنویسی که اطلاعات رو پردازش کنه.

امیدوارم گیج کننده جواب نداده باشم :دی