پارس دیتا
کد: KB-SW-ER-FA-9
زمان انتشار: سه‌شنبه 7 مهر 1394

علت و رفع خطای Internal server error - 500 در سرویسهای لینوکسی


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

title- of- image
زمانیکه کاربر شما قصد دارد به سرور آپاچی و یا Lighttpd از طریق برنامه کاربردی PHP به هر دلیلی دسترسی پیدا کند، این خطا بازگردانیده می شود. به طور کلی برای حل این خطا بایستی ار فایل های Log که در مسیر های ذیل قرار دارند کمک بگیرید :
var/log/message
/var/log/httpd/error_logs
برخی از دلایل رایج نمایش این خطا به شرح ذیل می باشند :

  • وجود خطایی در فایل htaccess. :
    درصورتیکه در سایت خود از فایل htaccess. استفاده می نمائید، ممکن است با صفحه ی وبی که در حال لود شدن می باشد تداخل پیدا کند. تنظیمات این فایل را بررسی نمائید، چرا که یک خطای گرامری نیز می تواند خطای 500 را نمایش دهد. برای اطمینان از این موضوع فایل htaccess. را تغییر نام داده و یا حذف کنید و مجددا صفحه را refresh نمائید. اصلی ترین دلیل بروز خطا همین مورد می باشد. تنظیمات و دایرکتوری ها از دو فایل ذیل خوانده می شوند:
     /etc/php.ini
      / chroot/etc/php.ini
    اگر این فایل گم شود خطای 500 بازگردانیده می شود.
  • time Out شدن کدهای PHP:
    اگر اسکریپت های PHP شما کانکشن هایی را به خارح از سایت ایجاد نمایند، ممکن است این connection ها time out شوند. اگر تعداد این کانکشن ها افزایش یابد باعث بروز خطای 500 Internal Server Error می گردد. برای پیشگیری از این خطا، باید مطمئن شوید که کدهای php از قوانین یا rule های timeout  پشتیبانی می کنند. به طور رایج گرفتن و مدیریت خطاهای timeout زمانی که ارتباط با دیتابیس یا سرور دیگر باشد، مشکل می باشد و باعث متوقف شدن اسکریپت در حین اجرا می شود.
  • خطاهای کدنویسی و گرامری در اسکریپت CGI/Perl:
    اگر صفحه ی سایت شما پسوند pl. و یا cgi دارد و سایت شما خطای مذکور را نمایش می دهد، بایستی متن اسکریپت خود را بررسی نمائید. نکات ذیل را هنگام چک کردن این فایلها در نظر داشته باشید:
    هنگام ویرایش اسکریپت CGI از یک ویرایشگر Plain text استفاده نمائید. برنامه هایی مانند word فایل خروجی با قالب acscii ذخیره نمی کنند.
    فایل CGI را در حالت Ascii و در فولدر Cgi-Bin آپلود نمائید. همچنین پرمیشن این فولدر معادل chmod 755 باشد و بررسی نمائید که ماژول های Perl که برای اجرای اسکریپت نیاز دارید در هاست شما پشتیبانی شوند.
  • همچنین زمانیکه محدودیتی توسط file system و سرور نرم افزاری اعمال شده باشد (مانند تنظیم اندازه Php log روی 10 مگابایت) ممکن است با خطای مذکور مواجه شوید که با افزایش این مقدار برطرف خواهد شد.

    در صورت عدم آشنایی با موارد بالا، به منظور رفع خطا می توانید فایل htaccess. را از طریق لینک Rename که در روبروی نام فایل قرار دارد، تغییر نام داده  و یا آن را حذف نمائید.

آخرین بروزرسانی: سه‌شنبه 7 مهر 1394 14:12:21