Fast CGI چیست؟

مشکلات PHP در CGI و ISAPI موجب به وجود آمدن Fast CGI شد. از اسمش هم معلومه که با چه هدفی ایجاد شده. هدف Fast CGI کنار هم آوردن سرعت ISAPI و کارایی CGI هست. در واقع روش کار Fast CGI مثل روش کار CGI هست. اما با تفاوتی کوچک اما کلیدی که سرعت بالایی بهش میده.

Fast CGI برای انجام هر پردازشی یک Process جدید ایجاد نمی کنه. بلکه یک Process بعد از ایجاد باز می مونه و تعدادی پردازش رو انجام میده و بعد بسته میشه. همین تغییر کوچک موجب پایین اومدن باور نکردنی مصرف منابع سیستم توسط PHP میشه.

با این حال Config کردن Fast CGI کمی سخت تر از CGI و ISAPI هست. اما بعد از اون مثل بنز کار می کنه.

خوب پس بهترین راه کار برای اجرای PHP در IIS مشخص شد:

1. قبل از همه مطمئن شوید كه CGI روی IISتون نصب هست، این رو می‌تونید از اینجا چك كنید:

Control Panel -> Programs and Features -> Turn Windows features on or off

2. نسخه غیرنصبی PHP رو دانلود كنید و در مسیر دلخواه (مثلاً C:\PHP) كپی كنید.

3. فایل php.ini-recommended رو به php.ini تغییر نام بدید و این تغییرات رو در اون ایجاد كنید:

  • كاراكتر ; رو از كنار خط fastcgi.impersonate = 1 بردارید. (اگر مقدارش یك نیست اون رو به یك تغییر بدید).
  • برای خط cgi.fix_pathinfo = 1 هم همون كار رو انجام بدید.
  • این بار خط cgi.force_redirect=0 (حتماً مقدارش صفر باشد).
  • مقدار خط open_basedir رو برابر با مسیر c:\inetpub\wwwroot قرار بدید.

حالا این فایل رو Save كنید و برای تست صحت نصب در اعلان داس (Command Prompt) دستور php -info رو اجرا كنید، اگه اطلاعاتی رو در مورد php نشون داد، یعنی كار تا اینجا خوب پیش رفته.

4. نوبت به تنظیمات در IIS می‌رسه. ابتدا IIS Manager رو اجرا كنید. سرور اصلی رو از لیست Connections سمت چپ انتخاب كنید و از قسمت میانی گزینه Handler Mapping رو دوبار كلیك كنید. این هم عكس:

از ستون سمت راست گزینه Add Module Mapping رو انتخاب كنید و اون رو مثل عكس زیر پر كنید و OK كه یه پنجره دیگه بعدش باز می‌شه اون رو هم Yes كنید:

6. كار تمومه اما برای تست تو پوشه c:\inetpub\wwwroot یه فایل به نام phpinfo.php بسازید با این محتوا:

<?php
echo 'Hello';
؟>

و اون را با این آدرس باز كنید: http://localhost/phpinfo.php


آموزش های مرتبط

اجرای PHP در IIS