هندلرهای پی اچ پی DSO (mod_php) , CGI , suPHP , FastCGI (بخش اول)

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

هندلرهای php چیستند؟

برای اجرای یک سایت php، سرور باید کد php را تفسیر کند و هنگامی که بازدیدکنندگان به وب سایت دسترسی پیدا می کنند صفحه ای را باز کند. آن کد را بر اساس اینکه از کدام کتابخانه php ،از قبیل php 4 یا php 5 استفاده می کنید تفسیر می کند. یک هندلر php چیزی است که در واقع کتابخانه ها را لود می کند بنابراین آنها می توانند برای تفسیر مورد استفاده قرار بگیرند.هندلرهای php چگونه بر روی سرور لود می شود.
چندین هندلر متفاوت وجود دارند که می توانند برای لود php استفاده شوند : CGI ،DSO،suPHP و FastCGI . هر کدام از هندلرها کتابخانه ها را از طریق فایل ها و پیاده سازی های متفاوت ارائه می دهند. هر فایل و پیاده سازی بر عملکرد آپاچی تاثیر می گذارد.به دلیل اینکه تعیین می کند آپاچی چگونه به php سرویس می دهد.
این برای عملکرد سرور شما حیاتی است که هندلری را انتخاب کنید که مناسب وضعیت شما باشد ، انتخاب هندلر صحیح به اندازه انتخاب ورژن php مهم است. یک هندلر لزوما همیشه بهتر از دیگری نیست،آن بستگی به تنظیمات یکتای شما دارد ، چه کشینگی مورد نیاز شماست ، چه ماژول هایی نیاز دارید و غیره.
• نکته : شما ممکن است هندلرهای php متفاوتی را برای ورژن های مختلف php اختصاص دهید،برای مثال ورژن 5 ممکن است توسط CGI به کار گرفته شود درحالیکه PHP 4 توسط DSO به کار گرفته می شود.

چگونه هندلرها را تغییر دهیم؟

تعویض هندلر بر روی سی پنل بسیار آسان است و فقط چند ثانیه طول می کشد .به whm لاگین شوید و به مسیر Main >> Service Configuration >> Configure PHP and SuExec بروید .
شما بسادگی هندلر phpتان را از منوی drop- down انتخاب کنید، سپس کلید “Save New Configuration” را کلیک کنید.
• نکته: اگر شما انتخاب مطلوب تان را در منوی drop- downنمی بینید،آن ممکن است در ابتدا نیاز به کامپایل بر روی سرور داشته باشد. ” Easy Apache” را برای کامپایل آن اجرا کنید.

 

لیست هندلرهای php

 

(DSO (mod_php

 

DSO همچنین مشهور به mode_php است . DSO مخفف Dynamic Shared Object است. این یک پیکربندی قدیمی است اما معمولا به عنوان سریع ترین هندلر درنظر گرفته می شود.آن php را به عنوان ماژول آپاچی اجرا می کند. این به این معنی است که اسکریپت های php به عنوان کاربر آپاچی اجرا خواهند شد، که همان کاربر “nobody” است .
DSO دو اشکال دارد. اول ، تمام فایل های ایجاد شده توسط اسکریپت php تولید می شوند مالکیت “nobody “را دارند، آنها قابل خواندن از طریق وب نیستند. وب سایت هایی که نیاز به آپلود فایلها از طریق پی اچ پی دارند با مشکلات پرمیژن در اجرا مواجه خواهند شد. این با کاربران وردپرس که فایل هایشان را از طریق واسط وردپرس آپلود می کنند مشترک است. این با DSO با شکست مواجه خواهد شد.
دومی مشکل امنیتی است ، فایل های ایجاد شده مالکیت “nobody ” دارند ، اگر هکر اکسپلویتی در اسکریپت پی اچ پی پیدا کند، می توانند یک فایلی را پیاده سازی کند که امتیازات مشابهی به عنوان فایل های سیستم مهم دارند که همچنین آنها هم مالکیت “nobody “را دارند. این به آنها این توانایی را می دهد که فایلهایشان را خارج از حساب کاربران ویرایش کنند. این واقعا برای ریزلرها یا کسانی که سایت های دیگران را میزبانی می کنند بد است.شما کاربری نخواهید بود که بتوانید بر روی کاربر دیگر اثر بگذارید.با این وجود اگر فقط یک اکانت بر روی سرور وجود داشته باشد(یا اگر تمام اکانت ها مال شما باشد،DSO دقیقا برای کار شماست. مزایای سرعت DSO غیر قابل انکار است.
راه آسان برای جلوگیری از مشکل هک این است که همیشه نرم افزار سایتتان را به روز نگه دارید.توسعه دهنده اسکریپت PHP خودتان را تا نسخه جدید نگه دارید.اگر شما تنها نفری هستید که بر روی سرور میزبانی می شوید،این برای انجام دادن راحت است از آنجائیکه آن قبلا قسمتی از وظایف مدیریت سایت شما بوده است.به هر حال اگر شما کار نمایندگی می کنید،غیرمنطقی است که از تمام کاربرانتان بخواهید که نرم افزارشان را به روز نگه دارند آنها واقعا ممکن است مثل شما سخت کوش نباشند. مصرف پایین پردازنده DSO به طور معمول منجر به سرعت بالای آن می شود و تنظیم پیش فرض بر روی اکثر سرورهاست.

CGI

CGI مخفف Common Gateway Interface است ،هندلر CGI ، PHP را به عنوان یک ماژول CGI به عنوان مخالف ماژول آپاچی اجرا خواهد کرد. CGI هنوز پردازشهای PHP را به عنوان کاربر “nobody” آپاچی اجرا می کند. به هر حال ، اگر suEXEC را فعال کرده اید، به شما اجازه می دهد کاربری که درخواست ارسال کرده است را مشاهده کنید.
روش CGI به عنوان یک هندلر یدکی زمانی که DSO در دسترس نیست درنظر گرفته می شود. طبق خود اسناد سی پنل ،این روش سریع و یا امن نیست بدون در نظر گرفتن اینکه suEXEC فعال هست یا نه.

 

منبع

ترجمه شده توسط :آرزو رنجبرپور


دیدگاه ها

  1. سلام
    از این دست مطالب پیشرفته که کمتر جایی در موردشون حرف زده می‌شه بیشتر قرار بدید.
    خوب بود، فقط ترجمه رو روان‌تر انجام بدید بهتره.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *