سالها پیش از این نصب و راه اندازی PHP در ویندوز با مشکلات فراوانی همراه بود. به طوری که، از آشنایان اگر کسی می توانست با استفاده از ترفندهای خاص به طور پایدار PHP را در ویندوز حتی توسط وب سرور apache اجرا کند، مورد تحسین همکاران و دوستان قرار می گرفت.
در حالی که با گزشت زمان تغییرات و پیشرفت های زیادی در فناوری PHP ایجاد شده است.
امروزه PHP نیز مانند نرم افزارهای دیگر دارای فایل نصبی اختصاصی میباشد و در فرایند نصب و اجرا، با همکاری Microsoft همه چیز تقریباً به صورت خودکار اتفاق می افتد.
با این حال، برای افرادی مثل بنده که تمایل دارند به تمامی بخشهای سیستم خود واقف بوده و بدون تکیه بر نصبهای پیشفرض تنظیمات لازم را به طور دستی انجام دهند، همچنان سادگی فرایندها چندان مهم نخواهد بود.
مهمترین ویژگی PHP توزیع با مجوز منبع باز می باشد. این بدان معناست که شما به راحتی می توانید PHP را از اینترنت یا از دوستان خود تهیه نمایید. هیچ الزام قانونی برای پرداخت هزینه وجود ندارد.
PHP زبانی مفسری است که مانند سایر زبان های اسکریپت (ASP، CFM) پردازش کدها در سمت سرور انجام می گیرد.
اگر با هر یک از زبان های برنامه نویسی مانند “C” یا “javascript” آشنایی مختصری داشته باشید، یادگیری PHP برای شما چندان دشوار نخواهد بود.
ابتدا بسته ی آرشیوی PHP را از
دانلود می کنیم.
توجه داشته باشید که، برای نصب به صورت “FastCGI” در وب سرور IIS، باید ورژن “Non-Thread Safe” PHP را انتخاب نمایید. ورژن “Thread Safe” تنها بر روی وب سرور apache قابل اجرا بوده و برای IIS طراحی نشده است.
بر روی درایو C: پوشه ی جدیدی به نام PHP ایجاد نموده، تمامی محتویات فایل دانلود شده را به آن پوشه منتقل کنید.
در زیر پوشه PHP، فایل “php.ini-production” را پس از انجام تنظیمات لازم به عنوان “php.ini” ذخیره نمایید.
تنظیمات PHP.ini
مفسر PHP، در این فایل هر سطری که با کاراکتر “;” آغاز نشده باشد، را به عنوان کد پردازش می کند.
برای اینکه PHP بتواند در حالت CGI اجرا شود، “fastcgi.impersonate=0” را با “1” جایگزین می کنیم.
fastcgi.impersonate=1
برای شناسایی پوشه پلاگین ها توسط نرم افزار:
extension_dir = “C:PHPext”
اگر در ساختار مورد نظر قصد اجرای سیستم های مدیریت محتوا همچون وردپرس را داشته باشید، باید چند افزونه PHP را فعال نمایید.
برای انجام این کار، خطوط زیر را در فایل php.ini جستجو کنید و کاراکتر “;” را از سرخط آنها حذف نمایید.
- extension=ldap
- extension=curl
- extension=ffi
- extension=ftp
- extension=fileinfo
- extension=gd
- extension=gettext
- extension=gmp
- extension=intl
- extension=mysqli
- extension=openssl
- extension=zip
error_reporting: هنگامی که خطایی در PHP رخ می دهد، نحوه گزارش خطا در صفحه توسط این پارامتر در فایل php.ini تعیین می شود. برای اهداف امنیتی، گزارش خطا توسط یک سروری که برای انتشار محتوای عمومی در اینترنت پیکربندی گردیده، باید محدود باشد. گزارش نام متغیرهای مورد استفاده در برنامه ممکن است باعث نتایج نامطلوب گردد.
برای امنیت پایدار می توانید پارامترهای زیر را تنظیم نمایید.
- 1: خطاهای عادی.
- 2: هشدارهای عادی.
- 8: هشدارهایی که بهرانی نیستند.
html_errors : برچسب های HTML موجود در کدهای خطا را می بندد.
include_path: پوشه ای را مشخص می کند که دستور fopen_with_path() آن را اسکن کند. (.) نقطه به معنای پوشه فعلی است.
memory_limit: حداکثر حافظه ای را که یک برنامه PHP می تواند استفاده کند را مشخص می کند. اگر می خواهید PHP را به جای میزبانی مشترک روی سرور خود اجرا کنید، بهتر است این مقدار را روی 256 قرار دهید. به طور کلی، سرویس های اشتراکی اجازه دسترسی به فایل PHP.ini را نمی دهند.
upload_tmp_dir: نام پوشه موقتی است که در هنگام آپلود استفاده می شود.
upload_max_filesize: حداکثر اندازه فایلی که می تواند آپلود شود را مشخص می کند.
safe_mode: اجرا و یا عدم اجرای PHP را در حالت امن با مقدار True و False مشخص می کند.
برای تنظیم منطقه زمانی PHP و جلوگیری از مشکلات تاریخ در سرورهای خارج از کشور، باید کد متناسب با منطقه زمانی کشوری که در آن زندگی می کنیم را در خط “date.timezone=” اضافه کنیم.
به عنوان مثال برای منطقه زمانی ایران:
date.timezone = “Asia/Tehran”
برای منطقه زمانی ترکیه:
date.timezone =”Europe/Istanbul”.
پس از انجام تغییرات لازم، فایل ویرایش شده را در دایرکتوری انتقالی آرشیو .Zip کپی می کنیم (دایرکتوری مذکور باید “C:\PHP” باشد).
تنظیمات زیادی در فایل PHP.ini وجود دارد که می توانید بر اساس امکانات و نیازهای ساختار محیط کاری خود آنها را پیکربندی نمایید.
بنده در این مقاله سعی کردم صرفا به نیازمندیهای PHP برای اجرای صحیح و روان وردپرس در سرورهای مبتنی بر ویندوز بپردازم.
در مطلب آینده مراحل کامل نصب و اجرای PHP را در حالت “FastCGI” بر روی وب سرور رایگان IIS که توسط مایکروسافت برای سیستم عامل Windows Server datacenter توسعه یافته و به مرور زمان عملکردهای مختلفی را به آن افضوده، ادامه خواهیم داد.