آموزش نمایش خطاها در پرستاشاپ

برای فعال کردن سیستم نمایش خطاها در پرستاشاپ ابتدا در هاست و File Manager به مسیر یا محل نصب پرستاشاپ، به پوشه config رفته و فایل defines.inc.php را در حالت ویرایش باز می کنیم.

آموزش نمایش خطاها در پرستاشاپ
آموزش نمایش خطاها در پرستاشاپ

سپس سطر کد زیر را پیدا میکنیم و مقدار false را به true تغییر می دهیم:

define(‘_PS_MODE_DEV_’, false);

 

, false);

آموزش نمایش خطاها در دروپال

آموزش نمایش خطاها در دروپال
آموزش نمایش خطاها در دروپال

در سیستم مدیریت محتوای دروپال برای نمایش خطاها تغییرات در فایل تنظیمات اعمال می شود.

ابتدا وارد هاست و سپس به File Manager رفته در مسیر محل قرارگیری فایل تنظیمات در مسیر نصب دروپال، sites/default می رویم. در این پوشه فایل setting.php را در حالت ویرایشگر متن باز می کنیم.

سپس کدهای زیر را به آخر آن اضافه می کنیم:

error_reporting(-1);

error_reporting(E_ALL);

$conf[‘error_level’] = 2;

ini_set(‘display_errors’, TRUE);

ini_set(‘display_startup_errors’, TRUE);

 

, TRUE);

مشاهده سایت بدون تغییر DNS

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

نصب افزونه مودیفای هدر ( Modify Headers ) در فایرفاکس
برای نصب modify header در حالیکه از فایرفاکس به عنوان مرورگر ( Browser ) خود استفاده می کنید ، کافی است از لینک زیر استفاده نمائید.

https://addons.mozilla.org/en-us/firefox/addon/modify-headers/
بعد از نصب یکبار فایرفاکس را ریستارت کنید.. پس از آن در نوار ابزار افزونه ها ( Addon bar ) در گوشه سمت چپ پایین ، آیکون modify headers را مشاهده خواهید کرد. بر روی آن کلیک کرده و Open modify headers را باز نمائید. در پنجره باز شده مطابق شکل در زبانه headers می بایست اطلاعات مربوط به وب سایت خود را وارد نمائید.

modify-headers-IPاز قسمت اکشن گزینه add را انتخاب نمائید و در فیلد header name کلمه host و در فیلد Header value نام وب سایت خود را مانند mihanhosting.ir وارد نمائید. کلید add را انتخاب نمائید و به کمک کلید ok پنجره مودیفای هدر را ببندید. حال باید modify header را تنها برای زمانیکه می خواهید وب سایت خود را در سرور جدید بررسی نمائید از طریق همان نوار ابزار افزونه ها در پایین صفحه به کمک کلید start فعال نمائید. با فعال کردن مودیفای هدر و انجام تنظیمات گفته شده ، کافی است در آدرس بار ( address bar ) مرورگر که همیشه در آن دامنه وب سایت خود را وارد می کردید، ادرس IP سرور هاست جدید را وارد نمائید. به این ترتیب مشاهده می کنید که بدون استفاده از dns شما وب سایت خود را بر روی سرور هاست جدید می توانید ملاحظه و کاملا بررسی فرمائید.

توجه: برای آنکه بتوانید مجدد از فایرفاکس خود بدون مشکل استفاده کنید باید Modify header را خاموش نمائید.
2- مشاهده سایت بدون تغییر DNS در chorme
اگر از مرورگر کروم استفاده میکنید ، می توانید از افزونه virtual host برای این مورد استفاده کنید.
https://chrome.google.com/webstore/detail/virtual-hosts/aiehidpclglccialeifedhajckcpedom?hl=en
از لینک فوق می توانید این افزونه را دانلود کنید.
3- استفاده از فایل hosts
۱- بر روی نرم‌افزارNotepadکلیک راست و بر روی گزینه‌یRun as administratorبرای اجرای آن با دسترسی Admin، کلیک کنید.

مشاهده سایت بدون ست کردن دی ان اس
مشاهده سایت بدون ست کردن دی ان اس

۲-از منوی File بر روی گزینه‌ی Open کلیک کنید و یا از کلید میانبرCTRL + Oاستفاده نمایید.

مشاهده سایت بدون ست کردن dns
مشاهده سایت بدون ست کردن dns

۳-فایلhostsرا از مسیرC:\windows\System32\drivers\etc(با فرض نصب ویندوز در درایو C) انتخاب و بر روی کلید Open کلیک نمایید.

مشاهده سایت بدون تغییر دی ان اس
مشاهده سایت بدون تغییر دی ان اس

۴-حال در انتهای فایل دامنه و IP سرور ی که سایت شما به ان منتقل شده است را تایپ و فایل را ذخیره کنید. به عنوان مثال برای افزودن دامنه domain.com و آدرس IP سرور 192.168.2.1 خطوط زیر باید به انتهای فایلhosts اضافه شود:

domain.com 192.168.2.1
www.domain.com 192.168.2.1

مشاهده سایت بدون تغییر DNS
مشاهده سایت بدون تغییر DNS

بررسی خطا 504 Gateway Timeout

بررسی خطا 504 Gateway Timeout
بررسی خطا 504 Gateway Timeout

این خطا زمانی رخ می دهد که سرور مبدا که اینترنت شماست ، درخواست به سرور مقصد ارسال میکند ولی در بازه زمانی مشخص پاسخی از سرور مقصد دریافت نمی شود.
دلیل این خطا می تواند به موارد زیر مرتبط باشد:
ارتباط شبکه بین دو سرور اختلال دارد.
سرور مقصد بدلیل لود بالا با کملود منابع مواجه است و نمی تواند به درخواستهای جدید پاسخی دهد.
زمان timeout تعریف شده در سرور مقصد کوتاه می باشد.
زمان timeout در سرورها با مقداری بنام execution_time در فایل php.ini قابل تنظیم می باشد.
در این مواقع مدیر سرور لود سرور را بررسی میکند ، در صورتیکه لود سرور بالا باشد ، نسبت به پایین آوردن لود سرور اقدام میکند.قبلا در مقاله زیر در مورد پایین آوردن لود سرورهای لینوکسی توضیح دادیم:
پایین آوردن لود در سرور لینوکسی

راه حل چیست؟

بوجود آمدن اين خطا بيشتر وقت ها به دليل مشكل در شبكه بندي بين سرورها و يا مشكلي بر روي سرور وب مي باشد و اين بدين معني است كه مشكل در روي كامپيوتر كاربر يا ارتباط اينترنتي او نيست. هرچند اين مشكل از جانب كاربر زياد قابل حل شدن نيست اما كاربر مي تواند موارد زير را انجام دهد:

1-صفحه وب خود را توسط فشردن كليد F5 و يا دكمه Refresh/Reload بازفراخواني كنيد. خيلي وقت ها يك ارتباط كم سرعت اينترنتي سبب بروز اين خطا مي شود كه با Refresh كردن صفحه مشكل برطرف مي شود.
2-به دليل اينكه اين خطا ، خطايي مربوط به سرورها است لذا اين خطا بر روي هريك از كامپيوترهايي كه در تلاش هستند به آن صفحه دسترسي داشته باشند ايجاد خواهد شد لذا اين شانس وجود دارد كه اين خطا به مدير سايت قبلا اعلام شده و مورد تحت بررسي باشد لذا مي تواند بعد از مدتي صفحه مورد نظرتان را بازخواني كنيد.
3-در صورتي كه براي دسترسي به صفحه مورد نظرتان عجله داريد لذا با مدير سايت تماس حاصل نموده و مورد را پيگيري كنيد.

اين پيغام خطا معمولا توسط وب سايت هاي بزرگ تغيير مي يابد اما بطور معمول به يكي از شكل هاي زير قابل مشاهده است:

خطا 403 Forbidden

خطا 403 Forbidden
خطا 403 Forbidden

خطای 403 (Forbidden) از خطاهای HTTP بوده و زمانی که یک وب سرور بنابه دلایلی دسترسی شما را محدود کند، این کد را باز می‌گرداند. (+ نحوه برطرف کردن آن)

نشانه‌های خطای 403

خطای 403 (Error 403) یا همان خطای Forbidden به معنای “خطای سرور داخلی” می‌باشد. این خطا یکی از کدهای وضعیت HTTP است که به عنوان خطا شناخته می‌شود. خطای 403 ممکن است در همه سیستم عامل‌ها با همه مرورگرهای قدیمی یا جدید پدیدار شود چون این خطا با این که از کلاس 4xx (سمت کاربر) است اما معمولاً دلیل بوجود آمدن آن از سمت سرور می‌باشد. از جمله رایج ترین پیغام‌های آن در مرورگرها موارد زیر است:

Forbidden 403
Forbidden
Error 403
HTTP 403
Access is denied
Forbidden: Access is denied
403 That’s an error (در سرورهای گوگل)
0x80244018 (در سرورهای آپدیت مایکروسافت همراه با عبارت WU_E_PT_HTTP_STATUS_FORBIDDEN)
The website cannot display the page (در مرورگر اینترنت اکسپلورر، با عنوان “403”)
You don’t have permission to access [URL] on this server.

403 Error example

یک خطای 403 عادی

خطای 403 چیست؟

خطا 403 Forbidden
خطا 403 Forbidden

خطای 403 یکی از رایج ترین خطاهای کلاس 4xx بوده و از سمت کاربر (Client Side) می‌باشد. با این که این خطا در کلاس 4xx قرار دارد اما معمولاً دلیل بوجود آمدن آن از سمت سرور است. این خطا زمانی اتفاق می‌افتد که وب سرور بنابه هر دلیلی دسترسی شما را محدود شناخته و از دسترسی به منبع مورد نظر جلوگیری می‌کند. با توجه به ماهیت خطای 403، هیچ گزارش تکمیلی و دلیل قطعی به کاربر نشان داده نمی‌شود (البته در وب سرور IIS این گزارش به صورت خلاصه وار ممکن است نشان داده شود).

در خطای 403 درخواستی که از طرف کاربر (مثلاً مرورگر وی) به وب سرور ارسال می‌شود، توسط وب سرور به صورت کاملاً درست شناخته می‌شود اما به دلیل این که دسترسی شما از طریق پیکربندی‌های وب سرور، تنظیمات سایت و … محدود شده است، این خطا را به کاربر ارسال می‌کند. درواقع این خطا مانند این است که کسی درخواست استفاده از خودکار (یا هر وسیله دیگر) شما را بکند. با این که شما درخواست وی را کاملاً متوجه شده‌اید اما به هر دلیلی به وی جواب “نه” گفته و از دسترسی او به وسیله ذکر شده، جلوگیری می‌کنید.

خطای 403 در سرویس گوگل پلی (Google Play) در دستگاه اندرویدی

دلایل روبرو شدن با خطای 403:

دلیل بوجود آمدن این خطا، همان‌طور که گفته شد، معمولاً به صورت کامل مشخص نمی‌شود و وب سرور تنها به گفتن عبارت “شما اجازه استفاده از این منبع را ندارید” اکتفا می‌کند (در وب سرور IIS معمولاً کدهای 403.8 و 403.2 نشان داده می‌شوند. IIS اطلاعات مختصری نیز درباره دلیل خطا به کاربر نشان می‌دهد). از مهمترین دلایل بوجود آمدن این خطا عبارت اند از:

IP غیرمجاز: ممکن است سرور بنابه دلایلی آی پی شما یا یک منطقه خاص (مثلاً آی پی های یک کشور) را بلاک کند. در این صورت به احتمال بسیار زیاد با خطای 403 مواجه خواهید شد. 403.6 کد این مورد در وب سرور IIS است.
جلوگیری از لیست کردن پوشه‌ها: وب سرور ممکن است به خاطر حفظ امنیت خود (مثلاً جلوگیری از مشاهده فایل‌های مخفی یا فایل‌هایی که برای استفاده داخلی طراحی شده اند)، از لیست کردن فایل‌های موجود در یک پوشه جلوگیری کند. این مورد زمانی اتفاق می‌افتد که به صورت مستقیم به آدرس یک پوشه مراجعه کنید. 403.14 کد این مورد در وب سرور IIS است.
ممکن است دسترسی (Permission) ثبت شده برای فایل‌ها یا منابع یک سایت به گونه‌ای باشد که از استفاده کاربر از آن منبع جلوگیری کند. برای مثال ممکن است پرمیژن یک فایل یا فولدر به گونه‌ای باشد که جلوی “اجرا شدن” یک فایل را بگیرد (403.1 در IIS) یا به گونه‌ای باشد که جلوی “خوانده شدن” آن را بگیرد (403.2 در IIS) یا به گونه‌ای باشد که جلوی نوشته شدن بر روی آن فایل را بگیرد (403.3 در IIS).

سه مورد بالا معمولاً دلیل بوجود آمدن خطای 403 می‌باشد اما موارد اضافی نیز وجود دارد که ممکن است باعث بوجود آمدن این خطا شود که عبارت اند از:

ممکن است فایل htaccess موجود بر روی سایت از دسترسی بازدیدکنندگان به یک منبع، صفحه یا پوشه خاص جلوگیری کند (معمولاً کد 403.8 در IIS).
ممکن است استفاده از آن منبع فقط در حالت امن SSL امکان پذیر باشد. در این گونه موارد نیز احتمالاً با خطای 403 مواجه می‌شود. (کدهای 403.4 و 403.5 در IIS)
ورود غیرمجاز: البته معمولاً در این حالت خطای 401 نشان داده می‌شود اما گاهاً به دلایلی خطای 403 نشان داده می‌شود. مانند زمانی که شما نیاز به ورود به حساب کاربری خود برای دسترسی به یک منبع خاص را داشته باشید.
ممکن است درخواست‌های زیادی از طرف یک آی پی مشخص به سرور ارسال شده باشد. در این صورت سرور برای حفظ آپ بودن خود، طبق پیکربندی‌هایش، از دسترسی کاربر به سایت جلوگیری می‌کند (403.502 در IIS).

Google 403 error

خطای 403 در سرورهای گوگل

برطرف کردن خطای 403:

صاحب سایت / سرور:

درصورتی که شما صاحب سایت یا سرور هستید، برای برطرف کردن خطای 403، این مراحل را بپیمائید:

ابتدا اطمینان حاصل کنید که دسترسی (Permission – پرمیژن) فایل‌ها و صد البته پوشه‌ها، متناسب با محتوای فایل و حساسیت آن باشد. معمولاً نداشتن پرمیژن “خواندن” باعث بوجود آمدن این خطا می‌شود. همچنین پرمیژن‌های “نوشتن” و “اجرا کردن” را نیز مطابق با نیازهای سایت تنظیم کنید. برای سایت‌های وردپرسی بهتر است مقاله رسمی آن را با عنوان “تغییر دسترسی فایل‌ها” مشاهده کنید. همچنین صاحب فایل‌ها (Owner) را نیز تنظیم کنید.

در مرحله بعدی مطمئن شوید که فایل htaccess موجود در ریشه سایت، دسترسی را محدود نکند. البته همیشه در نظر داشته باشید که این پیکربندی‌ها را باید مطابق با نیاز خود انجام دهید. محدود کردن بیش از حد باعث بوجود آمدن چنین خطاهایی شده و محدود نبودن آن نیز ممکن است امنیت سایت را به خطر بیندازد. برای اطلاعات بیشتر درباره این فایل می‌توانید به لینک “آموزش فایل htaccess آپاچی” مراجعه کنید. در این فایل ممکن است یک فولدر طبقه بندی شده یا آیتم‌ها و فایل‌های موجود توسط دستوراتی مانند “deny from all” (جلوگیری از دسترسی همه) یا “deny from yyy.yyy.yyy.yyy” (جلوگیری از دسترسی یک آی پی) محدود شوند. البته محدود کردن آی پی های زیاد معمولاً از طریق این فایل انجام نمی‌شود.

IP آدرس‌های بلاک شده توسط سایت خود را چک کنید. ممکن است رنج (Range) خاصی از آی پی ها به اشتباه بلاک شده باشند. مثلاً ممکن است بجای بلاک کردن یک رنج مشخص، آی پی آدرس‌های کل آن منطقه یا کشور بلاک شده باشد.

برای سایت خود پرونده‌های پیشفرض (Default Documents) انتخاب کنید. به این ترتیب از لیست کردن پوشه‌ها می‌توان جلوگیری کرد. مخصوصاً زمانی که آدرس مستقیم پوشه وارد شده باشد. برای آموزش این مورد در IIS به لینک “نحوه برطرف کردن خطای 403.14” از وبسایت مایکروسافت مراجعه کنید. این مورد نیز می‌تواند از طریق htaccess مشخص شود.

در نهایت درصورت برطرف نشدن مشکل، کار را به دست تکنسین‌های سرور بسپارید. به احتمال زیاد مشکل در پیکربندی‌های پیچیده وب سرور باشد. در این صورت متخصصان سرور می‌توانند به راحتی با دنبال کردن Logها آن را رفع کنند.

این مطالب فقط برای افزایش آگاهی کاربران بوده و این سایت هیچ گونه مسئولیتی در قبال هرگونه استفاده از مطالب را ندارد. صفحه شرایط و ضوابط را حتماً بخوانید. با توجه به این که این خطا جزو خطاهای سمت کاربر است اما دلیل آن معمولاً از سمت سرور است، کاربر برای رفع آن کار زیادی نمی‌تواند انجام دهد. قبل از هر چیزی از این دو سرویس (سرویس اول | سرویس دوم) استفاده کنید تا مشخص شود که سایت مورد نظر واقعاً دارای مشکل است یا مشکل فقط از سمت شماست. در هر صورت بهتر است موارد زیر را انجام دهید:

ابتدا مطمئن شوید IP آدرس شما در لیست سیاه وبسایت قرار نگرفته است. در غیر این صورت به احتمال 90% با این خطا مواجه شوید. برای رفع این مشکل می‌توانید با مدیریت سایت مورد نظر صحبت کنید. همچنین می‌توانید با تغییر دادن IP خود (مثلاً با ریستارت کردن مودم، درصورتی که آی پی شما ثابت نباشد) و یا با درخواست از ISP خود، یک IP جدید دریافت کنید که ممکن است شامل هزینه نیز باشد. به این ترتیب ممکن است بتوانید از سایت مورد نظر با قبول کردن تمامی مسئولیت‌های آن استفاده کنید. همچنین درصورتی که از پراکسی (Proxy) یا برنامه‌های مشابه استفاده می‌کنید، آن را بسته و تنظیمات شبکه مرورگر خود را به صورت پیشفرض تنظیم کنید. به احتمال زیاد بتوانید از سایت مورد نظر استفاده کنید.

درصورتی که سایت مورد نظر امکان ورود داشته باشد، وارد حساب خود شوید تا نهایت دسترسی خود را داشته باشید؛ چون گاهاً خطای 403 بجای خطای 401 استفاده شود.

آدرس صفحه (URL) را چک کنید و یک بار علامت اسلش (/) آخر آن (در صورت وجود) را برداشته و دوباره امتحان کنید همچنین مسیر صفحات پیشفرض مثل index.php و index.html را نیز به آخر آن اضافه کرده و دوباره امتحان کنید؛ چون ممکن است از لیست شدن پوشه‌های جلوگیری شود.

درصورتی که به محتوای آن صفحه نیاز دارید می‌توانید از نسخه کش شده آن استفاده کنید. برخی از سرویس‌های اینترنتی صفحات وبسایت را به صورت کش ذخیره کرده و به کاربران نشان می‌دهند. برای مشاهده آموزش و توضیحات بیشتر به پست “مشاهده نسخه پیشین یک صفحه یا وبسایت” مراجعه کنید.

کش مرورگر خود را پاک کنید زیرا ممکن است این مشکل صفحه مورد نظر حل شده باشد ولی محتوای صفحه خطا همچنان به کاربر نشان داده شود. برای آموزش و توضیحات بیشتر به لینک مربوط به هر یک از این مرورگرها بروید: اینترنت اکسپلورر (اینترنت اکسپلورر)، گوگل کروم (گوگل کروم)، موزیلا فایرفاکس (موزیلا فایرفاکس)، اپرا (اپرا). تغییر دادن سرویس DNS نیز می‌تواند موثر باشد؛ چون ممکن است مشکل از DNS ثبت شده برای آن سایت باشد.

ارور 401 Unauthorized

ارور 401 Unautho
ارور 401 Unautho

این خطا زمانی رخ می دهد که کاربری بدون آگاهی از اطلاعات لاگین (نام کاربری و رمز عبور مربوطه) بخواهد به منبع یا صفحه ای که توسط HTTP Authentication محافظت شده دسترسی داشته باشد.

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

ارور ۴۰۱ Unauthorized
ارور ۴۰۱ Unauthorized

اگر شما با اکانت کاربری تان وارد سایت شده اید و باز هم با چنین پیغامی (۴۰۱) مواجه می شوید، بدان معنی است که شما اختیارات لازم برای مشاهده این بخش از سایت را ندارید، یا اینکه نام کاربری و رمزعبور شما متعلق به این سایت نیست و شاید هم شما آنها را اشتباه وارد می کنی

آموزش نمایش خطاها در وردپرس

آموزش نمایش خطاها در وردپرس
آموزش نمایش خطاها در وردپرس

گاهی مواقع مشکلی برای سایتی وردپرس ایجاد می شود که این مشکلات می تواند از پلاگین ها و یا قالب و یا … باشد برای مشاهده اینکه در کجا این خطاها وجود دارد باید نمایش خطا در وردپرس را فعال کنیم

در سیستم مدیریت محتوای وردپرس کافیست به هاست و سپس File Manager بروید در محل نصب وردپرس، فایل wp-config.php را در حالت ویرایشگر مربوط به هاست باز کنید و کد زیر را آن پیدا کنید:

define(‘WP_DEBUG’, false);

حالا کد زیر جایزیگن کد بالا کنید:

// define(‘WP_DEBUG’, false);

define(‘WP_DEBUG’, true);

define(‘WP_DEBUG_LOG’, true);

define(‘WP_DEBUG_DISPLAY’, false);

@ini_set(‘display_errors’, 0);

آموزش نمایش خطاها در جوملا

آموزش نمایش خطاها در جوملا
آموزش نمایش خطاها در جوملا

غیر فعال کردن Display error و یا Error reporting در سیستم مدیریت مجتوای جوملا بسیار رایج است.

دلیل عمده آن جلوگیری از نمایش Warning های زیاد نمایش داده شده در ابتدای صفحه سایت است. اگر میخواهید اعمال تغییرات در صفحه مدیریتی جوملا را دارید، مراحل زیر را پیگیری کنید:

روش اول

پس از ورود، در بخش System به Global Configuration رفته و در قسمت Server تنظیمات دلخواه را بر روی Error reporting اعمال نمایید. سپس اقدام به ذخیره سازی تغییرات فرمایید.

آموزش نمایش خطاها در جوملا
آموزش نمایش خطاها در جوملا

روش دیگر

تغییرات بر روی فایل های تنظیمات اعمال می گردد. برای این کار ابتدا به مسر نصب جوملا در هاست و سپس File manager بروید و فایل Configuration.php را در حال ویرایش باز کنید.

سپس در مقابل error_reporting مقدار E_ALL | E_STRICT را که کامل ترین شرایط را نشان می دهد قرار دهید. سپس تغییرات را ذخیره کنید و اقدام به مشاهده سایت نمایید.

خطای 502 Bad Gateway

خطای 502 Bad Gateway
خطای 502 Bad Gateway

این خطا یعنی سرور مربوطه یک Gateway یا Proxy سرور است که با توجه به درخواستی که برای آن ارسال شده و تنظیمات اعمال شده برروی آن، امکان دریافت پاسخ معتبر از سرور پشتی (سرور backend – که مسئول اصلی پاسخگویی به درخواست ارسال شده است) را ندارد. در این شرایط می توان موارد ذیل را بررسی نمود :

آیا سرور backend با مشکل مواجه است ؟

آیا پراکسی سرور دارای تنظیمات صحیحی به جهت ارجاع درخواست به سرور پشتی می باشد؟

احتمال خرابی شبکه ی مرتبط بین سرور پراکسی و سرور پشتی به درستی بررسی کنید و همچنین از باز بودن پورت های مورد نظر در هر دو سرور اطمینان حاصل شود.
اگر وب اپلیکیشن مربوطه قرار است برروی سوکتی خاص مورد استفاده قرار گیرد، سرورها را به جهت وجود تنظیمات صحیح در این رابطه بررسی کرده و از وجود پرمیشن های (permissions) (سطح دسترسی) صحیح اطمینان حاصل نمایید.

خطای ۵۰۲ یا همان خطای Bad Gateway از خطاهای سمت سرور است. زمانیکه سرورها برای اجرای درخواست‌های رسیده از طرف کاربر، به عنوان یک Gateway یا ابزار مسیریابی عمل می‌کنند تا صفحات وب مورد درخواست را در دسترس کاربر قرار دهند. وقتی یک پاسخ بی اساس و بی اعتبار از سرور رده بالاتر دریافت شود و یکی از سرورها نتواند به Gateway یا Proxy جوابی معتبر بدهد، کاربر با این خطا مواجه می‌شود.خطای ۵۰۲

خطای ۵۰۲ یا به معنای “بوجود آمدن مشکل برای یکی از سرورهای اصلی” است. این خطا یکی از کدهای وضعیت HTTP است که به عنوان خطا شناخته می‌شود. این خطا در همه سیستم عامل ها با مرورگرهای قدیمی یا جدید ایجاد می‌شود.
خطای ۵۰۲ Bad Gateway:

خطای ۵۰۲ یک خطای سمت سرور می‌باشد که به دلیل وجود مشکل در یکی از سرورهای درگاه اصلی Gateway یا سرور اصلی ممکن است بوجود بیاید. این یعنی ممکن است یکی از سرورها بنا به دلایلی مثل خطا در برنامه ریزی، نداشتن دسترسی لازم، مشکل در بافرهای سرور، پیکربندی نشدن صحیح و… نتواند جواب معتبری به Gateway بدهد. به طور مثال؛ ممکن است یک پاسخ غیر معتبر از طرف سرور به سمت Gateway ارسال شود و سرور اصلی به ناچار این درخواست را غیر معتبر بشناسد. در این صورت این خطا برای کاربر نمایش داده می‌شود.

نکته: زمانی که سرور دارای مشکل، به کلی خاموش باشد یا نتواند اصلاً جواب بدهد این خطا بوجود نمی آید. زمانی که سرور در حالتی قرار گیرد که اصلا نتواند پاسخگو باشد خطای ۵۰۳ رخ می‌دهد.

خطای 500 Internal Server Error

خطای 500 Internal Server Error
خطای 500 Internal Server Error

به معنی عدم توانایی سرور در انجام درخواست به دلیل نامشخص می باشد. مهمترین علت بروز این خطا وجود تنظیمات نادرست (به طور مثال محتوای نادرست فایل htaccess)

و یا عدم نصب پکیجی (به طور مثال استفاده از PHP بدون نصب صحیح و کامل آن) در سرور می باشد.

راه حل

خطای Internal Server Error 500 به دلایل بسیار متنوعی ایجاد شود ولی بیشترین و رایج ترین دلایل بروز این خطا می تواند از اعمال سطح دسترسی یا Permission نادرست بر روی فایل ها و دایرکتوری ها، Ownership نادرست در هاست، کد های نادرست در فایل php.ini یا فایل .htaccess ، درخواست های نامعتبر از سمت اسکریپت سایت و … باشد. این خطا با توجه به نام آن بسیاری از کاربران را به این اشتباه می اندازد که مشکلی در سرور وجود دارد ولی در واقع سرور مشکلی نداشته و با اعمال تغییرات در تنظیمات پیکربندی سایت معمولاً قابل رفع می باشد. جزئیات کاملی از خطاهای سایت در فایل Error Logs همیشه ذخیره می شود که در زمان مشاهده ی خطای 500 می توانید با مراجعه به این فایل اطلاعاتی در مورد عامل ایجاد این خطا دریافت کنید. این فایل در قسمت File Manager در هاست شما وجود دارد که لیستی از خطاهای سایت را همراه با تاریخ و جزئیات ارائه می دهد، جهت انجام این کار می توانید از آموزش نحوه مشاهده آخرین خطا های سایت از طریق فایل error log استفاده کنید.
نمونه ای از خطای 500 را می توانید در ذیل مشاهده نمایید:
Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator, [email protected] and inform them of the time the error occurred, and anything you might have done that may have caused the error.

More information about this error may be available in the server error log.

Additionally, a 500 Internal Server Error error was encountered while trying to use an ErrorDocument to handle the request
Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator, [email protected] and inform them of the time the error occurred, and anything you might have done that may have caused the error.

More information about this error may be available in the server error log.

Additionally, a 500 Internal Server Error error was encountered while trying to use an ErrorDocument to handle the request

در ادامه ی آموزش انواع عوامل بروز خطای Internal Server Error 500 را همراه با نحوه ی رفع آن ها توضیح خواهیم داد:

Bad Permission, Writable by Group

خطایی که به واسطه ی سطح دسترسی پوشه ها بیش از حد مجاز رخ می دهد. در فایل Error Logs می توانید این خطا را بدین صورت مشاهده کنید:
[Sun Jun 05 12:03:22 2012] [error] [client 66.249.72.82] SoftException in Application.cpp:601: Directory “/home/exampleuser/public_html” is writeable by group

در این مثال، سطح دسترسی پوشه غیر مجاز تعریف شده که برای رفع این مشکل باید سطح دسترسی پوشه را از 777 به 755 تغییر دهید. سطح دسترسی دایرکتوری ها و پوشه ها 755 می باشد ، اسکریپت های اجرایی شامل پوشه ی cgi-bin نیز دارای سطح دسترسی 755 می باشند. تصاویر، فایل های چندرسانه ای و فایل های متنی مثل HTML نیز دارای سطح دسترسی 644 می باشند.

Files – 644
CGI Scripts – 755
Directories – 755

شما می توانید سطح دسترسی ها را از طریق File manager واقع در دسته بندی Files در Cpanel یا سرویس گیرنده ی FTP و یا از طریق دستورات chmod در SSH/Bash ویرایش کنید.

Bad .htaccess, Invalid code, command, or syntax

ممکن است کاربران در فایل .htaccess خطوطی را اضافه کنند که در اثر عدم دانش کافی و بی دقتی حاوی کلمات نادرست یا متضاد با تنظیمات سرور باشند. در این حالت خطای 500 رخ خواهد داد. بهترین روش برای رفع این مشکل ، تبدیل خطوط مشکل دارد در فایل .htaccess به توضیحات یا Comment می باشد که کافی است در ابتدای خطوط کاراکتر # را درج کنید و فایل را ذخیره نمایید. برای مثال اگر محتوای فایل .htaccess شما به صورت زیر باشد:
DirectoryIndex default.html
AddType application/x-httpd-php5 php
DirectoryIndex default.html
AddType application/x-httpd-php5 php

برای اینکه خط دوم را کامنت کنید می بایست به این صورت عمل کنید:
DirectoryIndex default.html
<strong>#</strong>AddType application/x-httpd-php5 php

DirectoryIndex default.html
<strong>#</strong>AddType application/x-httpd-php5 php

خطوطی که با php_flag شروع می شوند معمولا دچار خطا می شوند و می بایست آن ها را کامنت کنید.

Other common .htaccess errors

مشکل FollowSymlinks :

در این حالت خطایی مشابه ذیل خواهید داشت:
[Sun Jun 05 12:07:10 2011] [alert] [client 66.249.72.82] /home1/examplec/public_html/.htaccess: Option FollowSymlinks not allowed here
1

[Sun Jun 05 12:07:10 2011] [alert] [client 66.249.72.82] /home1/examplec/public_html/.htaccess: Option FollowSymlinks not allowed here

این خطا به سادگی قابل رفع می باشد. کافی است در فایل مورد نظر ، دستور مجاز «SymlinksIfOwnerMatches» را به جای «FollowSymlinks» استفاده کنید یا خط مربوطه را حذف نمایید.
مشکل Syntax Not Closed

در این حالت خطایی مشابه ذیل خواهید داشت:
[Sun Jun 05 12:11:38 2011] [alert] [client 66.249.72.82] /home1/examplec/public_html/.htaccess: /home1/examplec/public_html/.htaccess:3: <IfModule>ExampleRule/Module> was not closed.

باز هم به سادگی می توانید این خطا را رفع کنید و یا آن را حذف نمایید. در این مورد دستور </IfModule> را به درستی پایان دهید :

این موارد تعداد کمی از خطاهایی می باشد که در اثر دستورات اشتباه در فایل .htaccess بروز می دهند ولی به صورت کلی پیغام های خطا به اندازه ی کافی در تشخیص خطا شما را راهنمایی می کنند و می توانید با دقت در خطاها به راحتی آن ها را رفع نمایید.

خطاهایی که در فایل php.ini می تواند رخ دهد به صورت زیر می باشند:
مشکل ForceType :

زمانیکه از فایل ها با پسوند یا بدون پسوندی متفاوت از پسوند های معمول استفاده می کنید می توانید از ForceType در فایل .htaccess استفاده کنید و نحوه ی استفاده از آن در سرور را تعیین کنید. (برای تمامی فایل های موجود در پوشه ی مربوطه و سرور های بدون phpsuexec)

برای مثال ، زمانیکه شما فایلی با نام item دارید ( مانند Nucleus برای استفاده از FancyURL) و می خواهید در سرور بعنوان فایل php تعریف شود ، می توانید از کد زیر در فایل .htaccess استفاده کنید:

البته در سرور هایی که دارای phpsuexec می باشند با کد فوق خطای Internal Server Error دریافت خواهید ، که این مشکل به راحتی با استفاده از SetHandler بجای ForceType در فایل .htaccess رفع خواهد شد:
مشکل php_value :

در سرور های بدون phpsuexec می توان از php_value در فایل .htaccess برای تغییر تنظیمات php (در واقع بازنویسی تنظیمات از php.ini) استفاده نمود. در سرور های دارای phpsuexec استفاده از این دستور خطای Internal Server Error را ایجاد می کند. برای رفع این خطا شما می توانید از فایل php.ini که در همان پوشه ی ای که فایل .htaccess قرار دارد موجود است. در فایل php.ini می توانید تمامی تنظیمات مربوط به php را تغییر دهید. برای مثال اگر شما می خواهید short_open_tag را برابر با off قرار دهید، شما باید از short_open_tag? = off در فایل .htaccess استفاده کنید. با استفاده از فایل php.ini نتیجه به این صورت می شود:
[PHP]
short_open_tag = Off
[PHP]
short_open_tag = Off

یکی از اصلی ترین دلایل رخداد خطای 500 Internal Server Error به دلیل اعمال کد های اشتباه در فایل .htaccess هاست می باشد، بنابراین جهت رفع این مشکل حتما به شما توصیه می کنیم ویدئو آموزشی نحوه مشاهده فایل مخفی .htaccess رو داخل هاست مشاهده کنید تا بتونین به راحتی این فایل رو از داخل هاستتون پیدا کنین و کد های داخلش رو به حالت اولیه برگردونین.