رفع خطای ۵۰۰ سایت و علت های بروز آن
برای هر درخواستی که به نرم افزار وب سرور (آپاچی یا لایت اسپید و یا Nginx) داده میشود، پاسخ به صورت یک کد برگردانده میشود که وضعیت پاسخ دریافتی را نشان میدهد. گروهی از کدهای وضعیت در دستهٔ ۵xx یا گروه ۵۰۰ قرار میگیرند که نشان دهندهٔ وجود مشکل از سمت وب سرور است. پس این مشکل را مدیر سایت میتواند برطرف نماید، چون مشکلی در سمت سرور وجود دارد که نرم افزار وب سرور قادر به پردازش درخواست Client نیست. بیشترین محدودهٔ کدهای خطا هم بین ۵۰۰ تا ۵۱۰ قرار میگیرند. حالا در ادامه با هم بررسی میکنیم که علتهای اصلی بروز یک چنین خطایی روی سایت چیست و چطور میتوان آن را برطرف نمود.
خطای ۵۰۰ روی سایت
معمولاً درک خطای ۵۰۰ با نمایش عنوان خطایی با عناوین زیر در مرورگر بازدید کننده، هنگام بازدید سایت محرز میگردد:
- ۵۰۰ Internal Server Error
- HTTP 500 – Internal Server Error
- Internal Server Error
- HTTP 500 Internal Error
- 500 Error
- HTTP Error 500
البته ممکن است به علت مخفی بودن نمایش خطاها از سمت وب سرور، صفحهٔ سفید هم نشان داده شود که هیچ محتوایی درون آن نباشد. که در این صورت اگر به سربرگ Network در Web Development مرورگرتان مراجعه کنید، آنجا کد خطا را میتوانید ببینید که در گروه ۵۰۰ جای دارد.
دلایلی بروز خطای ۵۰۰ روی سایت
همانطور که گفته شد، این خطا نشان میدهد که در سمت سرور روی سایت ما خطایی وجود دارد. حالا گاهی اوقات یک مشکل جزئی روی یکی از فایلهای سایت ماست که باعث بروز این مشکل شده، یا پیکربندی کل سرور که در سطح ریشهٔ سایت انجام میشود مشکل دارد. عموماً روی سرورهای اشتراکی پیکربندیهای سطح ریشه به درستی انجام شدند که اگر این گونه نبود، کل یا بیشتر سایتهای روی آن سرور با این خطا مواجه میشدند. اما اگر فقط یک سایت و یا صفحاتی از یک سایت با خطای گروه ۵۰۰ مواجه میشوند، نشان از اشکال در پیکربندیهای سطح پایین خود سایت است. مثل مشکل در اسناد php سایت.
اما اگر مدیریت کل یک سرور وب به دست خودتان است، یعنی دسترسی سطح ریشه روی سرور مجازی یا اختصاصی دارید، حتماً باید موضوع بررسی پیکربندی کلی وب سرور را هم در دستور کار خود قرار دهید که مبادا مشکل از آنجا نباشد.
قبل از انجام هر گونه مشکلیابی روی سایت تان هم سعی کنید از کل اطلاعات سایتتان نسخهٔ پشتیبان تهیه کنید تا با خیال راحتتر بتوانید از پس این کار برآیید.
وجود ایراد در کدهای فایلهای روی سایت
سایتهایی که با زبانهای برنامه نویسی مثل PHP نوشته شده باشند، اگر مشکلی در کدنویسی وجود داشته باشد، نتیجه را به صورت خطای ۵۰۰ برای بازدید کننده نشان میدهند. در این حالت باید دانش رفع ایراد از نوع برنامه نویسی داشت تا بتواند ایراد را پیدا کرد. اسناد گزارش مثل سند error_log هم خیلی میتواند در این زمینه به ما کمک کند.
خیلی اوقات هم تنظیم اشتباه نسخهٔ PHP و حتی ماژولهای آن روی هاست یا سرور، که اسکریپت آن به آنها نیاز دارد، مسبب بروز خطای ۵۰۰ است. پس حتماً به احتیاجات نرم افزاری که از آن برای راهاندازی سایت خود استفاده میکنید دقت داشته باشید و همان پیش نیازها را روی هاست تنظیم کنید.
جواز دسترسی اشتباه
جواز دسترسی اشتباه یا همان Permission اشتباه، جزء دلایل مرسوم برای بروز خطای ۵۰۰ روی سرور است. هر سند یا پوشه روی سرور لینوکس دارای یک Permission یا جواز دسترسی است. اگر به درستی تنظیم نشده باشند، قطعاً یکی از انواع خطاها از نوع ۵۰۰ خواهد بود. به طور عمده جواز دسترسی فایل ها باید ۶۴۴ و جواز دسترسی پوشهها ۷۵۵ باشد. حالا بسته به نوع و ماژولهای وب سرور، یا حتی تنظیمات امنیتی سایت، ممکن است این جوازها اندکی تغییر کنند. با جواز دسترسی اشتباه وب سرور اصلاً نمیتواند فایل مورد نظر ما را اجرا کند. پس خطا میدهد.
خطای timeout
گاهی اوقات خطای ۵۰۰ سایت ما به علت اتمام زمان مجاز برای اجرای اسکریپت است. به این نوع خطا Timeout گفته میشود. یک گزینهٔ تنظیماتی Timeout مربوط به کل وب سرور مثل آپاچی است. یک Timeout هم مربوط به موتور اجرای اسکریپت، مثلاً PHP است.
گزینهٔ تنظیمات Timeout روی فایل پیکربندی PHP مورد max_execution_time است. روی کنترل پنلهای مختلف ممکن است نحوهٔ تنظیم آن متفاوت باشد. که ما در مرکز آموزش وبنولوگ، به طور کامل راجع به تنظیمات این مورد و دیگر گزینههای تنظیماتی PHP توضیحات لازم را دادیم. مثلاً در سی پنل باید به صفحهٔ Select PHP Version مراجعه کنید.
خطا روی سند .htaccess
یکی از فایلهای حساس روی هر نوع هاستی، سند htaccess است که به صورت مخفی است؛ یعنی با یک نقطه در ابتدای نام آن از دیگر اسناد متمایز شده است. با کوچکترین خطا در این سند سرور خطای ۵۰۰ خواهد داد. یکی از بهترین راهکارها برای بررسی این موضوع این است که به طور موقتی این سند را حذف کنید یا به جای دیگری منتقل کنید و یا تغییر نام دهید. اگر مشکل خطای ۵۰۰ سایت رفع شد، ایراد از کدهای داخل همین سند است. در خیلی از مواقع دستکاریهای انسانی بدون دانش و یا تغییراتی که توسط افزونههای سایت شما ایجاد میشوند، میتواند یا خطا را ایجاد کنند.
بررسی گزارشهای خطای سایت Error Logs
اگر خواسته باشید علت دقیقتر بروز خطای ۵۰۰ را روی سایت خود پیدا کنید، بهتر است به اسناد گزارش یا همان Logs مراجعه کنید. مهمترین سند گزارش روی هر فضای میزبانیای، یک سند با نام error_log است که در سرورهای لینوکس در مسیر public_html قرار گرفته است. اگر این سند را باز کنید و آخرین محتویات آن را مطالعه کنید، آخرین خطاهای سایت را میتوانید ببینید. این خطاها خیلی راحت میتوانند منبع ایجاد خطا را که حتی میتواند یک خط کد در یک فایل روی سایت ما باشد را به ما نشان دهد. البته نیاز به اندکی دانش فنی راجع به زبانهای برنامه نویسی داریم.
پاکسازی cache و cookies مرورگر
در حالتی که مشکل از سمت سرور رفع شده باشد، همان اطلاعات قدیمی سایت روی مرورگر ما Cache یا ذخیره شده باشد، ممکن است همچنان خطای ۵۰۰ را در مرورگر ببینیم. در این حالت باید کش و کوکی مرورگرمان را حذف کنیم و تا آخرین و تازهترین اطلاعات از سمت سرور دریافت شود و اگر مشکل رفع شده باشد، متوجه آن بشویم.
با توجه به این اطلاعات که سعی شد تا حد زیادی برای شما همراهان وبنولوگ کامل بوده باشد، اگر به دانش بیشتری برای رفع مشکل خطای ۵۰۰ سایت نیاز داشته باشید، میبایستی به مرکز آموزش ما مراجعه کنید.
0 دیدگاه