انتخاب بهترین هندلر PHP

انتخاب بهترین هندلر PHP

 

انتخاب بهترین هندلر PHP

 

در این مقاله ما قصد داریم فرق گزینه های هندلر php که شما باید انتخاب کنید بر روی سرور های مجازی (VPS (Virtual Private Server یا سرور های اختصاصی که cpanl روی آنها نصب شده است را بررسی نماییم.

 

هندلر php روشی شناخته شده است که آپاچی برای ارتباط رفت و برگشت با اسکریپت های php استفاده می کند. دانستن تفاوت میان هندلرهای php می تواند شما را در انتخاب بهترین هندلر موجود برای php راهنمایی کند .

 

انتخاب بهترین هندلر php برای نیازهای خاص شما می تواند یک پروسه طولانی جهت انتخاب و اطمینان از عملکردهای آن نظیر امنیت و کارایی روی سایت های سرور شما باشد.

 

یک هندلر php لزوماَ بهتر از دیگر هندلر ها در شرایط متفاوت نمی باشد بنابراین ابتدایی ترین امکاناتی که هندلرphp دارد و می تواند شما را برای انتخاب بهترین نوع آن جهت رسیدن به مقاصد خود یاری نمایید، در ذیل آمده است.

 

هندلرهای php قابل استفاده :

 

1) suPHP -Single user PHP : بر روی سرورهای هاستینگ، suphp به عنوان هندلر php پیش فرض انتخاب شده است و این هندلر به عنوان ماژول cgi اجرا شده است.

 

و از موارد مهم و قابل ذکر این هندلر می توان به امنیت بالای آن و ایجاد دسترسی های آسان اشاره کرد.

 

2) DSO -Dynamic Shared Object : به عنوان ماژول آپاچی قابل استفاده می باشد dso همچنین ارجاعی به ماژول mod_php می باشد و از قدیمی ترین هندلر های php بوده و از ویژگی های خاص آن می توان به سرعت بالای آن و قابلیت استفاده از  opcode cachingنام برد.

 

3) FCGI -FastCGI : قابل اجرا به عنوان ماژول cgi و fcgi و همچنین ارجاعی به ماژول mod_fcgid می باشد و از جدیدترین هندلرهای php بوده و از ویژگی های خاص آن می توان افزایش کارایی cpu و قابلیت استفاده از  opcode cachingرا نام برد.

 

4) CGI -Common Gateway Interface : قابل اجرا به عنوان ماژول cgi ، هندلر cgiphp قابلیت استفاده از تنظیمات اضافی را دارا می باشد اما 2 ضعف بسیار عمده آن سرعت پایین و مشکلات امنیتی بوده که به صورت عمومی توصیه ما این است که از این هندلر استفاده نگردد.

 

suPHP – Single user PHP (mod_suphp):

 

استفاده از suphp به عنوان هندلر php در میان روش ها انعطاف پذیر ترین و امن ترین راه برای جواب دهی به درخواست های php است. با هندلر suphp و انتخاب گزینه suEXEC بر روی آن همه ی اسکریپت های PHP قابلیت اجرا در سطح یوزر مالک اسکریپت را دارند.

 

به جای اجرای آپاچی با یوزر nobady تمامی درخواست های php به منظور اجرای اسکریپت های php در یک پروسه php مجزا اجرا می شود بنابراین این قابلیت باعث می شود بسیار سریع یوزری که بر روی سرور اسکریپت های زیادی را اجرا می کند مشاهده و شناسایی گردد و همچنین مشخص می شود که کدامین یوزرها باعث افزایش loading cpu توسط اسکریپت های php اجرا شده، می شوند.

 

دلیل اصلی و محبوبیت هندلر suphp آن است که یک یوزر را از دسترسی به یوزر های دیگر بر روی سرور منع می نماید. بنابراین اگر یک اکانت توسط هکر با استفاده از اکسپلویت موجود بر روی اسکریپت های php مورد نفوذ قرار گیرد هکر قادر خواهد بود تنها به فایل هایی دسترسی داشته باشد که متعلق به همان یوزر ایجاد کننده اسکریپت است.

 

هم چنین جز بهترین و محبوب ترین هندلر ها برای اجرای cms های محبوب نظیر wordpress و یا joomla می باشد. به طور عمومی این اپلیکیشن ها نیاز به توانایی ایجاد فایل ها بر روی سرور دارند. تمامی فایل های شما متعلق به یوزر مالک بوده و تغییر در دسترسی های فایل ها بسیار آسان می باشد.

 

ضعف عمده و اصلی استفاده از هندلر suphp این است که سایت های php شما سرعت کمتری در پردازش پروسه های هر درخواست php دارند. هم چنین اگر سرور شما در یک بازه زمانی کوتاه مقادیر درخواست های php زیادی دریافت کند این امر منجر به فشار اضافی روی منابع سرور توسط پروسه های php میگردد.

 

و در آخر شما قادر به انجام تغییرات مستقیم برای رفع این مشکل توسط فایل htaccess. بر روی سرور نخواهید بود، در عوض شما می توانید تغییرات مورد نیاز خود را در فایل php.ini اعمال نمایید.

 

بهتر است شما، در صورتی که چندین یوزر روی سرور خود دارید، suphp را به عنوان هندلر php خود انتخاب نمایید.

 

شما نباید نگران تنظیمات سطح دسترسی ها باشید و مشکلات کارایی (  performance) با اسکریپت های php اجرا شده نخواهید داشت.

 

DSO – Dynamic Shared Object (mod_php) :

 

 

استفاده از هندلر DSO PHP از سریع ترین راه های پردازش در خواست های php می باشد. هندلر dso از قدیمی ترین هندلر های php بوده که php را در به عنوان ماژول آپاچی اجرا می نماید.

 

تمامی اسکریپت های php در سطح یوزر nobady اجرا می گردند که این امر سبب اجرای سریع تر می شود اما باعث سردرگمی بیشتر در تنظیم سطح دسترسی ها نیز می گردد.

 

مهم ترین مزایای هندلر dso این است که باعث استفاده بیشتر از منابع نمی گردد. همچنین شما قادر به استفاده از PHP opcode caching در طول استفاده از هندلر dso به منظور افزایش سرعت درخواست های php می باشید. بعلاوه شما میتوانید تغییرات php مورد نظر خود را در فایل htaccess. به منظور کنترل فانکشن ها اعمال نمایید.

 

نقص اصلی این هندلر این است که اسکریپت های php مجبور به اجرا در سطح یوزر nobady در وب سرور آپاچی می باشد. این بدین معنی می باشد که اجرائیات درخواست های php به سادگی قابل رهگیری توسط یوزرهای اجرا کننده اسکریپت ها بر روی وب سرور نمی باشند.

 

همچنین مواقعی که شما از cmsهایی نظیر wordpress و یا joomla که نیاز به دسترسی هایی از جمله  write or modify files دارند باید این نیاز به صورت دستی و قبل از استفاده برطرف گردد. هر زمان که یک فایل جدید توسط اسکریپت php ایجاد می گردد یوزر مالک و قابل اجرای آن nobady بوده و این امر خود سبب مشکلاتی در تعیین سطح دسترسی ها میگردد.

 

یکی دیگر از مهم ترین نقص های هندلر dso امنیت می باشد زیرا تمامی یوزرهای شما بر روی سرور مشکل اجرا شدن اسکریپت های php توسط یوزر یکسان nobady را دارند. اگر یکی از سایت های موجود بر روی سرور شما مورد نفوذ قرار گیرد هکر به راحتی قادر به مشاهده و ویرایش فایل های خارج از خانه سایت مربوطه می باشد.

 

بنابراین مواقعی که شما از هندلر dso استفاده می نمایید باید همیشه تمامی نرم افزار های php خود را همراه با وصله های امنیتی patch نمایید.

 

شما ممکن است از dso به عنوان هندلر php استفاده نمایید در صورتی که فقط یک یوزر دارید و تنها نقطه قابل توجه و مورد نیاز شما سرعت و کارایی باشد.

 

CGI – Common Gateway Interface (mod_cgi) :

 

 

استفاده از هندلر cgi-php دیگر به صورت گسترده نظیر هندلرهای suphp و fastcgi و cgi که می توانند با suexec اجرا شوند مورد استفاده نمی باشد.

 

شاخص ترین دلیل استفاده از هندلر cgi راحت کانفیگ شدن آن است، و قادر به استفاده suexec برای اعمال تغییرات راحت تر در دسترسی ها می باشد.

 

و مهم ترین نقطه ضعف هندلر cgi سرعت پایین در هندل کردن رکوئست ها می باشد، و هندلر cgi عموماً دیگر مورد استفاده نیست.

 

ممکن است شما cgi را به عنوان هندلر php خود به جای هندلر های suphp , dso یا fastcgi که در دسترس نیستند جایگزین نمایید.

09123781949