خطاها معمولترین اتفاقات در یک سیستم هستند که به دلایل مختلف به وجود می آیند. سیستم وردپرس هم از این موارد مستثنا نیست و به دلیل گستردگی که دارد قطعا همواره با ارورها و مشکلاتی همراه است. یکی از خطاهایی که مربوط به سرور وردپرس است خطای 500 یا Internal Server error است که حتما تا به حال با آن روبرو شده اید. این خطا ممکن است دلایل بسیاری داشته باشد و به طبع راه حل های متنوعی هم خواهد داشت. بنابراین شما باید انواع راه حل های آن را بدانید تا برای رفع آن اقدام نمایید.
در ادامه با رفع خطای Internal Server error همراه ووکامرس باشید 🙂
آنچه در این مقاله می خوانید:
خطای 500 در وردپرس چیست؟
خطای 500 در وردپرس به دلیل مشکلات مختلفی مانند مشکلات پایگاه داده، خطای کد، مشکلات فایل ها و دایرکتوری ها و … ایجاد می شود. این خطا بیانگر این است که سرور نمی تواند درخواست شما را به درستی پردازش کند و به دلیل یک خطای داخلی از اجرای درخواست صرف نظر می کند. خطای 500 Internal Server error تنها به سایت های وردپرسی مربوط نمیشود و در حقیقت به دلیل ناسازگاری در کدهای سایت رخ میدهد.
انواع خطای Internal Server error
با توجه اینکه کاربران از مرورگرهای مختلف استفاده میکنند، خطای 500 یا همان خطای Internal Server error به شکل های گوناگونی ظاهر میشود. اما نکته مهم اینجاست که تمامی این خطاها هرچند با ظهر متفاوت یک معنی و مفهوم دارند. برای مثال چند نمونه از خطاهایی که مشاهده میکنید را در ادامه نام برده ایم:
چه مواردی باعث بروز خطای Internal Server Error 500 در وردپرس می شوند؟
همانطور که در فوق اشاره شد خطای Internal Server error تنها به سایت های وردپرسی محدود نمیشود و هر سایتی که بر روی وب سرور اجرا شود، ممکن است با این خطا روبرو شود. اغلب توابع نادرست، قالب یا افزونهها میتواند باعث بروز این خطا شوند. گاها هم فایل htaccess. یا PHP Memory Limit میتواند این خطا را ایجاد کنند. توجه داشته باشید ممکن است تنها بخشی از سایت شما دچار خطای Internal Server error شود و سایر قسمت ها به درستی اجرا شوند.
رفع خطای Internal Server error 500
چندین دلیل احتمالی برای خطای 500 سرور داخلی وجود دارد و راه حل ها به علت خاص بستگی دارد. برای رفع این خطا، می توانید از روش های ذکر شده برای خطای Internal Server error 500 استفاده کنید.
غیرفعال کردن افزونه ها
یکی از راههای رفع خطای 500 Internal Server Error، غیرفعال کردن افزونههای موجود در سایت است. برای این کار، به پوشه wp-content/plugins در سایت خود مراجعه کرده و تمامی پوشههای افزونهها را به صورت temporary به جای دیگری منتقل کنید. سپس دوباره سایت خود را بارگذاری کرده و بررسی کنید که خطای 500 Internal Server Error حل شده است یا خیر. اگر خطا برطرف شد، به تدریج هر یک از پوشههای افزونهها را به پوشه wp-content/plugins بازگردانید تا بتوانید افزونهای که مسئول خطا بوده است را شناسایی کنید. سپس آن افزونه را بهصورت دائمی حذف یا بهروزرسانی کنید.
فعال کردن حالت دیباگ (Debugging)
راه دیگری برای رفع خطای ۵۰۰ Internal Server Error، فعال کردن حالت Debugging در وردپرس است. برای این کار، باید فایل wp-config.php را در پوشه اصلی سایت خود باز کنید و کد زیر را در انتهای فایل قرار دهید:
;define(‘WP_DEBUG’, true)
این کد حالت Debugging را فعال میکند و به شما امکان میدهد خطای دقیقتری را برای خطای ۵۰۰ Internal Server Error مشاهده کنید. در صورتی که مشکل در فایل functions.php یا یک افزونه خاص باشد، با استفاده از حالت Debugging میتوانید این مشکل را شناسایی کنید و رفع کنید.
در نهایت، پس از رفع مشکل، بهتر است کد فعال کردن حالت Debugging را از فایل wp-config.php حذف کنید تا اطلاعات سایت شما در معرض نفوذ قرار نگیرد.
حذف پوشه htaccess.
حذف پوشه htaccess. ممکن است در برخی موارد نیز به رفع خطای ۵۰۰ Internal Server Error کمک کند. این کار برای حذف هرگونه تنظیمات غیرضروری در فایل htaccess. استفاده میشود.
برای حذف پوشه htaccess. ابتدا باید از طریق FTP یا پنل مدیریت فایلها به پوشه اصلی سایت خود دسترسی پیدا کنید. سپس پوشه public_html را پیدا کرده و فایل htaccess. را حذف کنید.
بعد از حذف فایل htaccess. ، سعی کنید سایت خود را باز کنید تا ببینید آیا خطای ۵۰۰ Internal Server Error برطرف شده است یا خیر. در صورتی که خطا برطرف نشده است، بهتر است فایل htaccess. را دوباره بسازید. این کار بهتر است با استفاده از یک ویرایشگر متن مانند Notepad یا Sublime Text انجام شود. در این فایل، تنظیمات مربوط به سایت شما مانند redirectها و تنظیمات امنیتی قرار داده میشود. برای ساخت فایل htaccess. ، کدهای مربوطه را در ویرایشگر متن قرار داده و فایل را با نام htaccess. ذخیره کنید. سپس سعی کنید سایت خود را باز کنید تا ببینید مشکل حل شده است یا خیر.
تغییر سطح دسترسی به فایل ها و پوشه
اگر حذف پوشه .htaccess برای رفع خطای 500 Internal Server Error موثر نبود، ممکن است سطح دسترسی به فایلها و پوشهها نیز باعث این خطا شده باشد. در این صورت، باید سطح دسترسی فایلها و پوشههای سایت را تغییر داد. برای این کار، باید به پنل مدیریت هاست خود وارد شوید و به بخش فایل منیجر رفته و سپس با کلیک بر روی هر فایل یا پوشه، سطح دسترسی آن را تغییر دهید.
برای مثال، سطح دسترسی فایلها باید 644 و سطح دسترسی پوشهها باید 755 باشد. توجه کنید که سطح دسترسی هیچ پوشهای نباید 777 باشد. پس از تغییر سطح دسترسی، سعی کنید سایت خود را باز کنید تا ببینید مشکل حل شده است یا خیر. در صورتی که مشکل حل نشد، بهتر است با پشتیبانی هاست خود تماس بگیرید تا مشکل را بررسی کنند.
افزایش حافظه PHP هاست
برای رفع خطای Internal Server Error 500، ممکن است نیاز به افزایش حافظه PHP هاست باشد. برای این کار، باید به پنل مدیریت هاست خود وارد شوید و به بخش PHP Selector رفته و سپس حافظه PHP را افزایش دهید. اگر این گزینه در پنل مدیریت هاست شما وجود ندارد، میتوانید با پشتیبانی هاست خود تماس بگیرید تا این کار را برای شما انجام دهند. پس از افزایش حافظه PHP، سعی کنید سایت خود را باز کنید تا ببینید مشکل حل شده است یا خیر. در صورتی که مشکل حل نشد، بهتر است با پشتیبانی هاست خود تماس بگیرید تا مشکل را بررسی کنند.
در پایان
بهترین روش برای جلوگیری از ارور 500 استفاده از یک فضای میزبانی یا همان هاست باکیفیت و مناسب است. با اینکار از وقوع این خطا تا میزان زیادی کاهش پیدا میکند. در نهایت با داشتن یک پشتیبان قوی خطای Internal Server Error 500 بدون هیچ مشکلی رفع کنید.
امیدواریم از آموزش رفع خطای Internal Server Error 500 لذت برده باشید. اگر نظر یا تجربهای در خصوص این آموزش دارید میتوانید در بخش دیدگاهها با ما در میان بگذارید.