امتیاز موضوع:
  • 0 رأی - میانگین امتیازات: 0
  • 1
  • 2
  • 3
  • 4
  • 5
آموزش هندلرها یا اجرا کننده های PHP همان (mod_php) در کنترل پنل های مدیریت هاست
#1
گرداننده پی‌اچ‌پی و یا PHP handlers چیست؟
وقتی درخواست بازدید یک صفحه پی‌اچ‌پی را به سرور می‌دهید سرور کد پی‌اچ‌پی را تفسیر می‌کند و صفحه با خروجی مناسب را برای کاربر تولید می‌کند. گرداننده پی‌اچ‌پی روالی است که کتابخانه‌های پی‌اچ‌پی را برای تفسیر کد فرا می‌خواند.
چند هندلر متفاوت برای لود پی‌اچ‌پی وجود دارد:
  • CGI
    DSO
    suPHP
    FastCGI
DSO: که با نام mod_php نیز شناخته می‌شود قدیمی‌ترین و سریع‌ترین هندلر پی‌اچ‌پی است. این گرداننده کدهای پی‌اچ‌پی را مستقیما بوسیله آپاچی تفسیر می‌کند در نتیجه کدهای پی‌اچ‌پی با مجوز کاربر آپاچی (nobody ، apache و یا www-data) اجرا می‌شوند. همه فایل‌های موجود در وب‌سرور شما باید بوسیله کاربر آپاچی قابل مشاهده باشند تا اجرا شوند و همچین همه فایلها و دایرکتوری‌ها باید بوسیله کاربر آپاچی قابل نوشتن باشند تا امکان تغییر یا آپلود فایل به سرور بوسیله کدهای پی‌اچ‌پی وجود داشته باشد.در سرورهای که با این هندلر تنظیم شده‌اند چنانچه هکر به یکی از اکانت‌های شما نفوذ کند می‌تواند به همه فایل‌های سرور که متعلق به کاربر آپاچی هستند دسترسی پیدا کند. در نتیجه مجوزها باید به این شکل تنظیم شود:
  • فایل: همه فایلها باید دارای مجوز ۶۴۴ باشند، کاربر صاحب (owner) فایل باید کاربر اکانت باشد و گروه فایل  گروه آپاچی باشد.
    دایرکتوری: دایرکتوری‌های باید مجوز ۷۵۵ داشته باشند. کاربر و گروه دایرکتوری باید کاربر آپاچی باشد.
CGI: هندلر سی‌جی‌آی بر خلاف« آپاچی ماژول»، php را به عنوان ماژول CGI اجرا می‌کند. با توجه به اینکه این هندلر نه امن است و نه سریع استفاده از این هندلر توصیه نمی‌شود.
suPHP: در این روش پی‌اچ‌پی به عنوان یک سرویس جدا اجرا می شود و پس از تفسیر کد‌های پی‌اچ‌پی نتیجه را به آپاچی می‌فرستد.  این روش با اینکه مانند روش بالا یک CGI است اما تفاوت‌هایی دارد. چنانچه این هندلر با suEXEC همراه باشد کدهای پی‌اچ‌پی با مجوز کاربر صاحب فایل اجرا خواهد شد.در این روش مجوز و کاربر فایل‌ها و دایرکتوری‌ها باید به صورت زیر باشد:
  • فایل: همه فایلها باید دارای مجوز ۶۴۴ باشند، کاربر و گروه فایل باید کاربر و گروه مالک فایل باشد.
    دایرکتوری: دایرکتوری‌های باید مجوز ۷۵۵ داشته باشند. کاربر و گروه دایرکتوری باید کاربر و گروه مالک فایل باشد.
FastCGI: این هندلر که به نام mod_fcgid و یا FCGI هم شناخته می‌شود. در این هندلر کدها با مجوز کاربر صاحب فایل (و نه کاربر آپاچی) اجرا می‌شود در نتیجه بسیار امن‌تر از سایر روش‌هاست . از جهتی دیگر سرعت اجرا بسیار بالاتر و مصرف CPU در این هندلر بسیار کمتر از سایر روش‌هاست.نکته: در این روش از آنجا که کدهای php بوسیله یک پروسس اجرا می‌شوند و این پروسه در پس زمینه باقی می‌ماند در نتیجه در این روش مصرف رم بالاتر از سایر روش‌هاست.کدام هندلر را انتخاب کنم؟
با توجه به شرایط شما باید یک هندلر که بیشترین بازدهی را برای شما دارد انتخاب کنید.DSO بیشتر مناسب استفاده در سرورهایی است که نیاز به سرعت بالا دارند و تعداد وب‌سایت‌های میزبانی شده محدود است.CGI برای هیچ سروری پیشنهاد نمی‌شود. از CGI تنها در مواردی که به دلایلی امکان استفاده از سایر هندلرها نباشد استفاده می‌کنیم!
در نهایت جدولی کلی از اطلاعات مربوط به هندلرهای PHP ارائه می شود که می توانید بر حسب نیاز و منابعی که در سیستم نیاز دارید یکی از هندلرها را انتخاب کنید. البته ذکر این نکته نیز خالی از لطف نیست که در صورت داشتن رم کافی در سیستم سرور در حال حاضر بهترین سرویس دهنده PHP  همان FastCGI است و متدوال ترین در سرورهای عمومی mod_php است و البته می توان با افزونه هایی که بر روی Apache نصب می شوند ضعف mod_php را رفع کرد . یکی از مهمترین افزونه های مورد استفاده افزونه ی mod_ruid2 است.

[table][tr][th] [/th][th]mod_php[/th][th]CGI[/th][th]suPHP[/th][th]FastCGI[/th][/tr][tr][th]مصرف رم[/th][td]Low[/td][td]Low[/td][td]Low[/td][td]High[/td][/tr][tr][th]مصرف پردازنده[/th][td]کم[/td][td]زیاد[/td][td]زیاد[/td][td]کم[/td][/tr][tr][th]امنیت[/th][td]کم[/td][td]کم[/td][td]زیاد[/td][td]زیاد[/td][/tr][tr][th]اجرا در حالت مالک فایل[/th][td]ندارد[/td][td]ندارد[/td][td]دارد[/td][td]دارد[/td][/tr][tr][th]نتیجه گیری کلی[/th][td]سریع[/td][td]کند[/td][td]کند[/td][td]سریع[/td][/tr][/table]
می گویند تقوا از تخصص لازم تر است
آنرا می پذیرم، اما می گویم:
آنکس که تخصص ندارد و کاری را می پذیرد، بی تقواست.
- شهید دکتر چمران
پاسخ


پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 1 مهمان