PHP همچنان گستردهترین و محبوبترین زبان برنامه نویسی وب سمت سرور است. این برنامه در اکثر سیستمهای میزبانی وب نصب شده است، یادگیری آن ساده است و ارتباط نزدیکی با دیتابیس MySQL دارد و دارای مجموعهی کاملی از کتابخانهها جهت کاهش زمان توسعه اپلیکیشن است. PHP شاید یک زبان کاملی نباشد، اما مطمئناً میتوان آن را یک گزینه بسیار مناسب برای وب اپلیکیشن در نظر گرفت. Yahoo و Facebook همچنان با موفقیت از آن استفاده میکنند. در این مقاله مراحل نصب php در ویندوز سرور را بهطور کامل شرح میدهیم.
نصب php در کامپیوتر خود به شما این امکان را میدهد بدون تاثیرگذاری بر دادههای آنلاین یا وب سایتهای فعال خود، با خیال راحت وب اپلیکیشن خود را توسعه دهید و سپس آن را تست کنید. در این مقاله به نصب php بهعنوان یک ماژول در نسخه تحت ویندوز Apache 2.2 میپردازیم. کاربران Mac و Linux احتمالاً آن را از قبل بهصورت نصب شده در اختیار دارند.
توزیعهای بسیار متنوع و عالی پکیجهای All-in-One تحت ویندوز وجود دارد که عمدتاً شامل Apache، PHP، MySQL و سایر برنامهها است و بهصورت یک فایل جامع قابل نصب هستند. بهعنوان مثال میتوان به XAMPP (که دارای یک نسخه برای سیستم عامل Mac نیز است)، WampServer و Web.Developer اشاره کرد.
هیچ مشکلی جهت استفاده از این بستهها وجود ندارد، اگرچه نصب Apache و PHP بهصورت دستی به شما کمک میکند تا درباره سیستم و تنظیمات آن اطلاعات بیشتری کسب کنید.
اگرچه یک فایل نصب از php.net در دسترس است، اما در صورتی که از قبل یک وب سرور فعال را تنظیم کرده اید، نصب دستی آن را توصیه میکنیم.
در بیشتر موارد برنامههای php در وب سرورهای Apache یا Nginx اجرا میشوند، اما دلایل معتبری برای انتخاب و ترجیح IIS به گزینههای دیگر وجود دارد:
IIS فقط بر روی ویندوز اجرا میشود، اما به خاطر داشته باشید که اجرای PHP بر روی IIS با اجرای PHP بر روی ویندوز یکسان نیست. راه حلهای متنوعی مانند XAMPP یا WampServer برای اجرای PHP در ویندوز وجود دارد. با این حال، این دو راه حل چند انتخاب دیگر نیز برای شما در پی خواهد داشت. هر دو آنها از Apache بهعنوان وب سرور و از MySQL یا MariaDB بهعنوان یک سرور دیتابیس استفاده میکنند.
این حالت ممکن است کاملاً متناسب با نیازهای شما نباشد. اگر از قبل وب سایتهایی بر روی IIS اجرا میکردید، بهتر است وب سایتهای PHP خود را نیز در آنجا اجرا کنید. به این ترتیب، همه آنها را یکجا و در کنار هم خواهید داشت. شاید حتی تمایل دارید از یک دیتابیس دیگر استفاده کنید. در ادامه به بررسی نصب php روی IIS خواهیم پرداخت و خواهید دید که کار پیچیده ای نیست.
اگر IIS هنوز در سیستم شما اجرا نمیشود، باید آن را فعال کنید. نحوه انجام این کار نیز به نسخه ای از ویندوز که در حال استفاده از آن هستید، بستگی دارد. در نسخههای غیر سروری ویندوز، این کار معمولاً در بخش “Turn Windows features on or off” انجام میشود. سادهترین راه برای دسترسی به این بخش (در ویندوز ۸ و بالاتر) باز کردن منوی Start و جستجوی “windows features” است. در پنجره باز شده قادر به باز کردن این بخش خواهید بود. پس از باز شدن آن، با انتخاب گزینههای “Internet Information Services” و “CGI” آنها را فعال کنید.
در ویندوز سرور، این کار مستلزم طی کردن مراحل بیشتری است. ابتدا برنامه Server Manager را باز کرده و سپس با استفاده از “Add Roles and Features” در صفحه Server Roles، گزینه “Web Server (IIS)” را انتخاب کنید:
وقتی از شما خواسته میشود server roles را انتخاب کنید، حتما CGI را نیز فعال کنید:
پس از نصب IIS، با باز کردن آدرس http://localhost باید قادر به مشاهده صفحه پیش فرض IIS باشید:
CGI مخفف Common Gateway Interface است که یک پروتکل استاندارد برای وب سرورها جهت اجرای برنامهها بر روی یک سرور است. فعال کردن CGI در محیط IIS بسیار مهم است. در مورد این آموزش، این بدان معنی است که IIS درخواستهای ورودی وب را دریافت میکند و سپس آن را به موتور PHP ارسال میکند. سپس موتور PHP خروجی را که IIS باید به کلاینت نمایش دهد، به آن برمیگرداند.
CGI پس از هر درخواست برنامه را شروع و متوقف میکند. اگر درخواستهای زیادی دریافت کنید، این فرایند از نظر عملکردی بسیار پرهزینه خواهد بود. CGI قادر به کنترل ارتباطات با پایگاه داده یا کش درون حافظه نیست. FastCGI نسخه جدیدتر و ارتقاء یافته CGI است که در اواسط دهه ۹۰ برای رفع این مشکلات معرفی شد. FastCGI میتواند فرایندها را طی چندین درخواست فعال نگه دارد و قادر است ضمن استفاده مجدد از منابع دیگر، جایگزین سریعتر و مدرنتری برای CGI “کلاسیک” باشد.
وقتی CGI را برای IIS فعال میکنید، بهطور پیش فرض شامل FastCGI نیز خواهد بود. سپس IIS به صورت پیش فرض PHP را از طریق FastCGI اجرا میکند.
سادهترین راه برای نصب php در IIS استفاده از Web Platform Installer است. Web PI یک ابزار رایگان مدیریت بسته برای نصب ابزارهای توسعه وب غیر تجاری و ملزومات آنها است. هنگامی که این ابزار را اجرا میکنید، می توانید آخرین نسخه PHP را در بخش Frameworks قسمت Products انتخاب کنید:
Web PI چندین مورد را به لیست نصب اضافه میکند (در مورد این آموزش سه مورد)، سپس بر روی دگمه بزرگ Install در پایین صفحه کلیک کنید. در مرحله بعد باید لایسنس اجزاء مختلف را بپذیرید. اگر هر یک از اجزاء با موفقیت نصب نشود، ممکن است مجبور شوید آنها را بهصورت دستی نصب کنید. در صورتی که تمایل به کنترل بیشتر دارید، امکان نصب دستی PHP نیز وجود دارد.
بههنگام نصب php روی IIS از طریق Web PI، این زبان در آدرس پیش فرض “C:\Program Files” نصب میشود. ممکن است تمایل داشته باشید کنترل بیشتری در این مورد داشته باشید، که کاملاً امکانپذیر است و چندان دشوارهم نیست.
ابتدا PHP را از وب سایت آن دانلود کنید و دقت داشته باشید که حتماً نسخه non-thread safe را دانلود کنید. برای PHP نیازی به بررسی thread-safety نیست، زیرا FastCGI یک محیط single-threaded را تضمین میکند. حذف این چکها عملکرد را بهبود میبخشد.
فایلها را در فولدر مورد نظر خود extract کنید، بهعنوان مثال “C:\PHP” . همچنین این فولدر را به مسیر Path System variable اضافه کنید. سپس صفحه Handler Mappings را در IIS Manager باز کنید:
در نوار Actions، میتوانید “Add Module Mapping” را انتخاب کنید. جزئیات لازم را وارد کنید تا برای IIS مشخص شود که فایلهای *.php باید توسط php-cgi.exe و از طریق FastCGI اجرا شوند:
اکنون در نوار Connection سرور خود را در IIS Manager انتخاب کرده و گزینه “Default Document.” را انتخاب کنید. در بخش اقدامات بعدی روی “Add…” کلیک کنید و “index.php” را اضافه کنید. همچنین میتوانید فایلهای دیگری مانند “Default.php” را اضافه کنید. این به IIS میگوید اگر هیچ فایلی در URL مشخص نشده باشد، بهطور پیش فرض بهدنبال چنین فایلی بگردد.
در پایان به فولدر PHP خود بروید (بهعنوان مثال “C:\PHP”) و سپس بسته به محیط خود فایل “php.ini-development” یا “php.ini-production” را به “php.ini” تغییر نام دهید.
اگر با استفاده از Web PI در سیستم خود PHP را روی IIS نصب کرده باشید، مقادیر پیش فرض به خوبی عمل خواهند کرد، اما یک چک و بررسی نیز خالی از لطف نیست. اگر PHP را بهصورت دستی نصب کرده اید، آنگاه حتماً لازم است تنظیمات را یک بررسی اجمالی کنید. اگر با تنظیمات PHP آشنا هستید، میتوانید فایل “php.ini” را باز کرده و آن را ویرایش کنید. همچنین میتوانید PHP Manager را در IIS Manager باز کنید. اگر تا کنون این کار را انجام نداده اید، میتوانید PHP Manager برای IIS را نصب کنید. سپس آن را در IIS Manager مشاهده خواهید کرد:
وقتی آن را باز میکنید، بلافاصله با یک اخطار در مورد فایل php.ini خود مواجه خواهید شد. کلیک بر روی لینک “View recommendations” راه حل ساده ای برای رفع هرگونه مشکل به شما ارائه میدهد:
PHP امکان نصب و فعالسازی extention های جانبی را نیز فراهم میکند. در نصب پیش فرض این آموزش، بیش از ۴۰ افزونه بهصورت پیش فرض نصب شده است. میتوانید PHP extensions را در فولدر “ext” در زیر فولدر installation PHP نصب کنید. همچنین میتوانید آنها را از طریق PHP Manager نیز نصب کنید. به همین ترتیب، میتوانید extension ها را با ویرایش فایل php.ini یا با استفاده از PHP Manager فعال و غیرفعال کنید. بهعنوان مثال، WinCache یک افزونه محبوب برای بهبود سرعت PHP در سیستمهای تحت ویندوز است. این افزونه شامل مکانیزمهای ذخیره سازی و کشینگ مانند user data cache, session cache file ,system cache و path cache مرتبط با آنها است.
اگر PHP را با استفاده از Web PI نصب کرده اید، دیگر در این بخش نیازی به انجام کاری ندارید. اگر PHP را به صورت دستی نصب کرده اید، نسخه صحیح آن را از SourceForge دانلود کرده و در یک فولدر موقت ذخیره کنید. مطمئن شوید که حتماً آن را از فولدر development دانلود میکنید، زیرا سایر فایلها مربوط به نسخه Web PI WinCache است. فایل “exe” را اجرا کرده و سپس فایل “php_wincache.dll” را در فولدر “ext” در فولدر installation PHP خود کپی کنید. سپس در PHP Manager، میتوانید روی لینک “enable or disable an extension” کلیک کرده و WinCache را فعال کنید:
گزینه دیگر نیز این است که “extension = php_wincache.dll” را به انتهای فایل “php.ini” خود اضافه کنید. دقت داشته باشید که حتماً نسخه WinCache منطبق با نسخه PHP خود را دانلود کنید. در فرومهای WinCache میتوانید مشاهده کنید که پشتیبانی از نسخه ۷.۳ در دست تحقیق و توسعه است، و همچنان نیاز به برخی بازبینیها وجود دارد.
اکنون که php را روی IIS نصب کردیم، میتوانیم به راحتی آن را تست کنیم. یک فایل جدید در ویرایشگر متن مورد علاقه خود ایجاد کنید و فقط خط زیر را به آن اضافه کنید:
<? ;php phpinfo()?>
این فایل را در مسیر C:\inetpub\wwwroot ذخیره کنید. این آدرس در واقع همان مسیری است که IIS میزبان وب سایتهای شما خواهد بود. حتماً ویرایشگر خود را در حالت administrator اجرا کنید، در غیر اینصورت نمیتوانید فایل را در آن فولدر ذخیره کنید.
سپس در مرورگر خود به آدرس http://localhost/phpinfo.php بروید، و در این صفحه باید قادر باشید نمای کلی از تمام تنظیمات فعلی PHP را مشاهده کنید:
این یعنی همه چیز به خوبی کار میکند. به خاطر داشته باشید که قرار دادن فایل phpinfo.php در وب سایت عمومی یک خطای فاحش امنیتی است که باعث میشود اطلاعات سرور شما افشا شود و هکرها میتوانند برای حمله به شما از آن استفاده کنند.
بر اساس تخمینها، تقریبا ۸۰% وب سایتها در اینترنت از PHP استفاده میکنند. این آزمایش همچنین به خوبی از عهده تست زمان نیز بر آمده است. همچنین شامل برخی از محصولات موفق مانند وردپرس و دروپال نیز است. IIS در بازار وب سرورها سهم قابل توجهی را در اختیار ندارد، اما پشتیبانی و تعهد مایکروسافت را بهدنبال خود دارد، به این معنی که توسعه و پشتیبانی آن برای مدت طولانی ادامه خواهد داشت. اگر از قبل وب سایتهایی بر روی IIS اجرا میکنید، اکنون میتوانید سایتهای PHP خود را به آن اضافه کرده و همه چیز را بهصورت یکجا و در یک مکان نگه دارید.
در مثال فوق، ما وب سایت PHP (یک فایل کوچک و یک خطی) خود را به فولدر wwwroot اضافه کردیم. که “Default Web Site” در IIS را نمایش میدهد. با این حال، هیچ چیز مانع استفاده شما از امکانات IIS و قرار دادن وب سایتهای خود در فولدرهای دیگر و سپس اجرای آنها در برنامههای جدا نمیشود. که این بهترین کار است. بهعنوان مثال، من فایلهای دروپال را بر روی دستگاه لوکال خود extract کرده و IIS را نیز بر روی آن فولدر تنظیم کردهام.
توجه: این احتمال وجود دارد که این روش برای شما عمل نکند. در این مقاله مجبور شدیم کارهای اضافی انجام دهیم زیرا فایل web.config پیش فرض تولید شده توسط IIS شامل یک قسمت بازنویسی است که ابتدا کار نمیکرد که یا باید آن را حذف میکردیم یا اینکه ماژول بازنویسی را برای IIS نصب میکردیم.
در اینجا میتوانید تنظیمات دروپال که بر روی IIS لوکال اجرا میشود را مشاهده کنید:
این دروپال و PHP است که با کمک IIS 10 در ویندوز ۱۰ در حال اجرا است.
افراد کمی از قابلیت IIS برای اجرای برنامههای PHP و سهولت راه اندازی آن آگاهند. با استفاده از Web PI میتوانید فقط با چند کلیک از عهده نصب php برآیید. نصب آن بهصورت دستی خیلی هم سخت نیست و به شما امکان کنترل بیشتری میدهد.
شاید تصور کنید Linux و Apache یا Nginx گزینههای پیش فرض برای نصب php هستند، اما صرفاً در چند مرحله میتوانید برنامههای PHP خود را بر روی وب سرور IIS خود اجرا کنید. اگر به هر دلیلی گزینههای Apache یا Nginx را در اختیار ندارید و احساس میکنید مجبور به استفاده از IIS هستید، یا فقط IIS را ترجیح میدهید، این مساله نباید شما را از استفاده از زبان قدرتمند PHP که هنوز هم محبوبترین زبان برنامه نویسی در اینترنت است، منصرف کند.
سینداد یعنی هدیهی سیمرغ، یا فرزند سیمرغ؛ به عبارتی یعنی خود سیمرغ، با همه ی شگفتی هایش، اما جوانتر و سرزنده تر. و این چیزی است که ما سعی می کنیم در سینداد باشیم. از سال ۱۳۸۵ دانش مان را به صورت خدماتی در حوزه ی هاستینگ، شبکه و تولید نرم افزار در اختیار مشتریان مان قرار داده ایم و به این افتخار می کنیم که تک تک آنها تا به امروز همراه ما مانده اند. باور داریم که سینداد صرفاً یک شرکت نیست، بلکه نوعی باور است به ارائه ی شگفت انگیز از هر چیز.