آیا تا به حال وب سایت خود را باز کرده اید و با ارور internal server error 500 مواجه شده باشید؟
این ارور علت های زیادی دارد . با توجه به متن ارور اغلب کاربران تصور می کنند که مورد مربوط به سرور است.در حالی که این چنین نیست و حتی ممکن است تغییراتی که از سمت کاربر اعمال شده است منجر به بروز این خطا شده است.
خطای Internal Server Error 500 به دلایل بسیاری اتفاق می افتد ولی بیشترین دلایل بروز این خطا می تواند از سطح دسترسی یا Permission نادرست بر روی فایل ها و دایرکتوری ها، کد های نادرست در فایل php.ini یا فایل .htaccess ، اسکریپت ها و … باشد.
بررسی این ارور در لینوکس و ویندوز متفاوت است . جزئیات کاملی از خطاهای سایت در فایل Error Logs ذخیره می شوند که در زمان مشاهده ی خطای 500 می توانید به این فایل مراجعه کنید و اطلاعاتی را در مورد ایجاد این خطا دریافت کنید.
در ادامه به بررسی برخی از علت های این خطا می پردازیم.
Internal server error 500 در لینوکس
- بیشترین و رایج ترین دلیل بروز این خطا می تواند به دلیل کد های اشتباه در فایل .htaccess هاست باشد.
در برخی مواقع ممکن است شما فایل .htaccess را ویرایش یا موردی را به آن اضافه کرده باشید در این صورت ناهماهنگی و عدم سازگاری با هاست شما بوجود آمده است.
در این حالت باید آخرین تغییراتی را که در آن ایجاد کرده اید لغو کنید. تا به تنظیمات اولیه باز گردد.
- یکی دیگر از علت های اصلی این مشکل برهم زدن سطح دسترسی فایل ها و پوشه ها توسط کاربر است.
بنابر این باید سطح دسترسی تمام فایل ها و فولدر ها را بررسی کنید .دقت داشته باشید سطح دسترسی پوشه ها باید 755 و فایل ها 644 باشد. اسکریپت های اجرایی شامل پوشه ی cgi-bin نیز دارای سطح دسترسی 755 می باشند.
- ممکن است این ارور ارور واقعی نباشد و ارور واقعی را باید در پوشه ی error_log می توانید ببینید.
دقت داشته باشید در صورتی که بخواهید ارور واقعی را در سایت مشاهده کنید باید error_log و display error را on کنید که در این حالت ممکن است در رتبه یا در امنیت سایت موردی پیش آید.
- اعمال تغییرات php-value در فایل htaccess
از php_value در فایل .htaccess میتوان برای تغییر تنظیمات php استفاده نمود که در این حالت ممکن است با خطای Internal Server Error مواجه شوید .
در این حالت میتوانید از فایل php.ini استفاده نمایید.
Internal server error 500 در ویندوز
این اروردر ویندوز به موارد زیادی بستگی دارد که البته باید بیشتر به متن موجود در ارور توجه کرد. در اینجا به شرح برخی از علت های این ارور در ویندوز میپردازیم.
- در برخی از مواقع ممکن است این ارور مربوط به برنامه نویسی asp کلاسیک باشد و هم چنین اروری که می بینید ارور واقعی نباشد.
در این حالت باید وارد کنترل پنل هاست خود شوید و از مسیر virtual directory – error document نوع ارور هایی که با 500 شروع میشود را به حالت default تغییر دهید و ارور واقعی را مشاهده کنید.
- صحیح نبودن برنامه نویسی فایل asp در اسکریپت ها و object ها و یا در path های مربوط به فایل .mdb
- نقص در برنامه نویسی و یا اسکریپت آپلود شده بر روی هاست که باید آن را با برنامه نویس خود مطرح سازید.
- نحوه تنظیم فایل web.config را چک نمایید و هم چنین بررسی کنید که آیا ورژن دات نت فعال شده برروی هاست ویندوز با ورژن دات نت اسکریپتهای سایت شما تطابق دارد یا خیر.
در پاره ای از موارد نیز برای این مورد می توانید از شرکت هاستینگ خود کمک بگیرید.