| |
آموزش نصب PHP روی Windows Serverآموزش نصب PHP روی Windows Serverهمانطور که احتمالا میدانید، PHP زبان برنامه نویسی ساده، محبوب و انعطافپذیر است که هزاران سایت و اپلیکیشن با آن ساخته شدهاند. نصب PHP روی Windows Server در نگاه اول شاید کاری پیچیده بهنظر برسد، اما واقعیت این است که با رعایت چند نکته مهم و انجام صحیح تنظیمات، به راحتی میتوان محیطی پایدار و مناسب برای اجرای برنامههای PHP ساخت. در این مطلب از بخش آموزش سرور در بلاگ پارسپک، روش نصب و پیکربندی PHP روی Windows Server، تنظیمات رایج در IIS، مشکلات معمول پس از نصب و راهکارهای بهینهسازی آن را توضیح میدهیم پس با ما همراه شوید. PHP چیست؟PHP یا همان Hypertext Preprocessor، یک زبان برنامهنویسی که بهطور ویژه برای توسعه وب طراحی شده است. این زبان به توسعهدهندگان این امکان را میدهد که وبسایتها و اپلیکیشنهای داینامیک ایجاد کنند. PHP بهطور گستردهای در سیستمهای مدیریت محتوا مانند وردپرس استفاده میشود و امکان ایجاد صفحات وب پیچیده با منطق و تعاملات پیشرفته را فراهم میکند. این زبان به دلیل سادگی در یادگیری و قابلیت انعطافپذیری بالا، هم برای مبتدیان و هم برای برنامهنویسان حرفهای مناسب است و به راحتی میتوان آن را با دیگر فناوریهای وب ترکیب کرد. دلیل استفاده از PHP در ویندوز سروراجرای PHP روی ویندوز سرور به سازمانهایی که زیرساخت مایکروسافتی دارند اجازه میدهد از همان محیط و ابزارهای مدیریتی (مثل IIS و PowerShell) استفاده کنند، از قابلیتهای Active Directory و ابزارهای مانیتورینگ ویندوز بهرهمند شوند و بدون نیاز به لینوکس، اپلیکیشنهای PHP را در شبکه داخلی و اینترنت میزبانی کنند. همچنین امکان یکپارچگی با سرویسهای مایکروسافت و استفاده از امکانات امنیتی سازمانی یکی دیگر از دلایل اصلی است. پیشنیازهای نصب PHP روی ویندوز سروربرای نصب PHP روی ویندوز سرور، به پیشنیازهای زیر نیاز دارید: نصب ویندوز سرور ابتدا نیاز دارید که ویندوز سرور بر روی سیستم شما نصب شده باشد. انتخاب وب سرور (IIS یا Apache) برای استفاده از PHP، به یک وب سرور نیاز دارید. میتوانید از IIS که بهطور پیشفرض در ویندوز سرور نصب میشود، استفاده کنید. همچنین میتوانید Apache را نصب کنید که انتخاب رایجتری برای توسعهدهندگان PHP است. دانلود و نصب PHP نسخه مناسب PHP را از سایت رسمی PHP دانلود کنید. پیکربندی PHP در وب سرور اگر از IIS استفاده میکنید، باید PHP را از طریق PHP Manager for IIS به IIS اضافه کنید. نصب پایگاه داده (اختیاری) اگر پروژه شما نیاز به پایگاه داده دارد، میتوانید MySQL یا MariaDB را نصب کنید. اضافه کردن PHP به متغیرهای محیطی (PATH) برای دسترسی آسان به PHP از هر پوشهای در سیستم، باید مسیر نصب PHP را تعریف کنید. نصب PHP روی ویندوز سرور به روش دستیمراحل نصب دستی به صورت گامبهگام در ادامه آورده شده است: ۱. دانلود PHPاز سایت رسمی windows.php.net نسخه مناسب را دانلود کنید. توجه کنید معماری (x86/x64) با ویندوز و نیازهای اپلیکیشن مطابقت داشته باشد. ۲. نصب Visual C++ Redistributableبسته مناسب VC++ را از مایکروسافت نصب کنید (نسخهای که برای بیلد PHP لازم است). برای مثال، ممکن است برای نصب php 8.4 به نسخه ۱۷ نیاز باشد. با جستوجوی عنوان و نسخه، در لینک رسمی مایکروسافت، آن را دانلود و نصب کنید. ۳. استخراج فایلهافایل ZIP دانلود شده PHP را در C:PHP استخراج کنید. ۴. ایجاد php.iniاز فایلهای نمونه php.ini-production یا php.ini-development یکی را کپی کرده و به php.ini تغییر نام دهید. سپس میتوانید پارامترهای پایه را ویرایش کنید: extension_dir = ext فعالسازی افزونههای مورد نیاز مانند extension=mysqli, extension=pdo_mysql, extension=gd و غیره (با حذف ; از ابتدای خط). تنظیم date.timezone = Asia/Tehran یا منطقه مناسب. ۵. افزودن به PATHمسیر C:PHP را به متغیر محیطی PATH اضافه کنید (System Properties > Advanced > Environment Variables) تا php.exe از خط فرمان قابل دسترسی باشد. ۶. پیکربندی IIS برای FastCGIدر Server Manager یا IIS Manager: بخش Roles & Features: مطمئن شوید CGI فعال است. در IIS Manager > FastCGI Settings > Add Application: مسیر C:PHPphp-cgi.exe را اضافه کنید. Handler Mappings: *.php را به ماژول FastCGI map کنید (Add Module Mapping): Request path: *.php Module: FastCgiModule Executable: C:PHPphp-cgi.exe Name: PHPFastCGI ۷. تنظیمات دسترسی و مجوزهامجوز خواندن برای حسابی که IIS از آن استفاده میکند (IIS_IUSRS) بر روی پوشه PHP و وبسایت تنظیم شود. ۸. راهاندازی مجدد IISدر PowerShell یا iisreset با دستور CMD میتوانید IIS را مجددا راهاندازی کنید. ۹. بررسی صحت نصب phpفایل info.php را در دایرکتوری سایت قرار داده و مرورگر را باز کنید تا خروجی phpinfo نمایش داده شود. نصب PHP با Web Platform InstallerWeb Platform Installer یا به اختصار Web PI یک ابزار رسمی مایکروسافت بود. اما متاسفانه این ابزار از ۳۱ دسامبر ۲۰۲۲ توسط مایکروسافت بازنشسته شده است و دیگر بهروزرسانی یا پشتیبانی نمیشود. بنابراین در صورتیکه WebPI در دسترس نباشد، بهتر است از روش نصب دستی یا نصب از طریق IIS Extensions و PowerShell استفاده کنید. جزئیات بیشتر در وبسایت رسمی IIS منتشر شده است: اعلام پایان پشتیبانی WebPI . مشکلات رایج پس از نصب PHPدر هنگام راهاندازی و نصب PHP روی سرور ویندوز، ممکن است با مشکلات مختلفی مواجه شوید که عملکرد صحیح وبسایت یا اپلیکیشن شما را تحت تأثیر قرار دهند. در ادامه به برخی از رایجترین مشکلات پس از نصب PHP و راهکارهای پیشنهادی برای رفع آنها اشاره میکنیم: صفحه خالی یا خطای HTTP 500علت این ارور آن است که خطاهای PHP نمایش داده نمیشود یا display_errors خاموش است. در نتیجه باید به بررسی php_error.log و فعالسازی لاگها بپردازید. خطای ۵۰۲ Bad Gateway یا FastCGI Errorدلیل اصلی بهوجود آمدن آن، استفاده از نسخه نادرست معماری ۳۲ یا ۶۴ بیتی یا پیکربندی نادرست FastCGI است. در این شرایط بررسی مسیر php-cgi.exe و نصب Visual C++ ضروری است. کار نکردن افزونههااگر میبینید که مثلا افزونههای mysqli یا pdo_mysql کار نمیکنند، احتمالا افزونهها فعال نشدهاند یا extension_dir نادرست است. برای رفع آن هم باید مسیر ext را در php.ini تنظیم کنید و مطمئن شوید فایلهای DLL مربوطه در پوشه ext وجود دارند. خطای دسترسیدر صورت بروز خطای Permission denied backlink چیست به حساب IIS مراجعه کرده و به آن مجوزهای خواندن و اجرا را بدهید. زمان اجرای اسکریپتها طولانیبه این خطا Timeouts هم گفته میشود. علت آن تنظیمات نادرست FastCGI یا IIS timeout است. برای برطرف کردن آن در تنظیمات FastCGI مقدار Activity Timeout و Request Timeout را افزایش دهید یا اپلیکیشن را آپدیت کنید. خطای Missing Visual C++ Runtimeدر صورت بروز این خطا، نیاز به نصب VC++ Redistributable دارید. بهینهسازی عملکرد PHP در ویندوز سروربرای دستیابی به عملکرد بهتر و بهرهوری بیشتر از PHP در محیط ویندوز سرور، رعایت مجموعهای از تنظیمات و راهکارهای بهینهسازی ضروری است. این اقدامات نهتنها سرعت اجرای اسکریپتها را افزایش میدهند، بلکه پایداری و مقیاسپذیری سرویس شما را نیز تضمین میکنند. در ادامه مهمترین توصیهها و تنظیمات جهت بهینهسازی عملکرد PHP در ویندوز سرور آورده شده است: ۱. فعالسازی OPcacheابتدا در php.ini این تنظیمات را انجام دهید: opcache.enable=1 OPcache کامپایلهای تکراری را در حافظه نگه میدارد و سرعت اجرای اسکریپتها را بهطور چشمگیری افزایش میدهد. ۲. تنظیم FastCGIدر تنظیمات FastCGI برای هر application pool باید سه مرحله زیر را انجام دهید: Instance MaxRequests را مناسب قرار دهید (مثلا ۵۰۰۰). MaxInstances را بر اساس CPU و حافظه تعیین کنید. ActivityTimeout و RequestTimeout را متناسب با بار افزایش دهید. ۳. غیرفعال کردن Xdebug در محیط پروداکشنXdebug برای توسعه مفید است اما در پروداکشن باید غیرفعال شود تا بار اجرا کاهش یابد. ۴. استفاده از کشینگ سطح وب IIS و CDNصفحات یا پاسخهای ثابت را کش کنید تا بار PHP کاهش یابد. ۵. تنظیمات PHP memory_limit و realpath_cache_sizeافزایش realpath_cache_size تنظیم memory_limit مناسب برای اپلیکیشنهای بزرگ ۶. مانیتورینگ و لاگینگاز لاگها و ابزارهای مانیتورینگ ویندوز برای شناسایی نقاط گلوگاه، یعنی بخشهایی از سیستم که باعث کندی یا افت کارایی کل فرایند میشوند، استفاده کنید. جمعبندیبرای نصب PHP روی ویندوز سرور، شما میتوانید اپلیکیشنهای PHP را در یک محیط مایکروسافتی اجرا کنید. برای این کار، ابتدا باید پیشنیازهایی مثل IIS با CGI و VC++ Redistributable را نصب کنید. سپس میتوانید از روش نصب Web PI استفاده کنید، یا اگر این ابزار در دسترس نیست، نصب دستی PHP را انجام دهید. در این مقاله همه این مراحل را برایتان شرح دادهایم. سوالات متداول۱. چگونه بین نسخههای مختلف PHP سوئیچ کنم؟هر نسخه PHP را در پوشه جدا نصب کنید (مثلاً C:PHP8.1, C:PHP7.4) و در IIS برای هر سایت یا Application Pool یک FastCGI Application جدید بسازید که به php-cgi.exe آن نسخه اشاره کند؛ سپس در Handler Mappings آن سایت mapping را به همین FastCGI تنظیم کنید. ۲. خطای ۵۰۲ بعد از نصب چرا ظاهر میشود و چگونه رفعش کنم؟معمولا بهخاطر mismatch بین x86/x64 یا نبودن Visual C++ Redistributable است. بررسی کنید php-cgi.exe قابل اجرا باشد، معماریها سازگار باشند و VC++ مناسب نصب شده باشد. همچنین لاگهای FastCGI و Event Viewer را برای جزئیات خطا چک کنید. ۳. بهترین روش برای بهبود سرعت اپلیکیشن PHP روی IIS چیست؟فعالسازی OPcache، پیکربندی معقول FastCGI maxInstances، timeouts، غیرفعالکردن ماژولهای توسعهای مثل Xdebug در تولید، استفاده از caching سطح وب (IIS Output Cache) و CDN، و نظارت مستمر روی لاگها و منابع سیستم. این ترکیب معمولاً بیشترین تاثیر را در بهبود کارایی دارد.
بر چسب : | |