خطای Internal Server Error در وردپرس و نحوه رفع آن
کد تخفیف در جریان norooz97 %15 تا آخر خرداد 1397

یکی از خطاهایی که در وردپرس به دلایل قالب و افزونه ها یا سرور شما ممکن است رخ دهد، خطای Internal Server Error است. این خطا اکثرا با کد HTTP 500 نیز شناسایی می شود. خطای 500 از آن دسته از خطاهایی است که نمی توان با قطعیت تمام گفت مشکل از کجاست و برای رفع آن دقیقا باید چه قسمتی از سایت را بررسی کرد.

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

WordPress Error and Resolve

 


بررسی سالم بودن فایل htaccess

در اکثر پنل های Host ، فایل .htaccess به صورت یک فایل مخفی است که دستورات ضروری در آن قرار می گیرد که در صورت خرابی این فایل یا نادرست بودن دستورات داخل این فایل، سایت شما دچار مشکل خواهد شد. هرچند برخی از این دستورات نادرست ممکن است سایتتان را به سرعت از دسترس خارج نکنند اما تاثیر محتویات این فایل در سایت اعمال خواهد شد! معمولا این فایل دلیل اصلی خطای Internal Server است.

راه حل:

ابتدا پیش از هر چیز باید این فایل را تغییر نام دهیم. تغییر نام این فایل باعث خواهد شد دستورات داخل آن روی سایت اعمال نشوند. فایل .htaccess یک فایل مخفی است، که در روت مکانی که وردپرس را در آن نصب کردید وجود دارد. معمولا در پوشه public_html در فایل منیجر هاست وجود دارد. اگر این فایل را مشاهده نمی کنید، سعی کنید تیک گزینه نمایش فایل های مخفی شده را بزنید تا تمامی فایل ها به نمایش درآیند.

برای تغییر نام فایل هم می توانید نام آن را به هر نامی که می خواهید تغییر دهید. مثال: .htaccess_old

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

WordPress Internal Server Error

 


افزایش میزان محدودیت رم مصرفی برای سایت

یکی دیگر از مشکل ساز ترین ها در این خطا، اتمام محدودیت میزان مصرف رم سایت می باشد. برخی از قالب ها و افزونه ها برای اجرا شدن و استفاده از توابع سنگین، به Memory بیشتری نیاز دارند که اگر رم هاست شما محدود باشد، ممکن است باعث بروز این مشکل شود. معمولا سایت هایی که بدون دستکاری و ناگهانی دچار خطای Internal Server می شوند، از سمت میزان رم مشکل دارند!

راه حل:

اگر از هاست اشتراکی استفاده می کنید، می بایست به هاستینگ خود اعلام کنید که مقدار رم برای هاست شما را افزایش دهند. اگر هم از سرور مجازی استفاده می کنید، می توانید دستور زیر را در فایل php.ini خود قرار دهید یا اگر از قبل وجود داشت، مقدار آن را افزایش دهید (این فایل معمولا در روت مکان نصب وردپرس یا در پوشه wp-admin می تواند یافت شود):

memory=64MB

اما کد دیگری که می توانید برای رفع این مشکل استفاده کنید، تفاوتی نمی کند در هاست اشتراکی باشید یا سرور اختصاصی!

کد زیر را در فایل wp-config.php قرار دهید. ممکن است سرورتان به سایتتان رم کافی اختصاص داده باشد اما وردپرس شما توانایی دسترسی به تمامی آن را ندارد! پس با کد زیر می توانیم به وردپرس رم بیشتری اختصاص دهیم.

define( 'WP_MEMORY_LIMIT', '256M' );

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

 


افزونه های وردپرسی

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

راه حل: 

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

اما اگر پیشخوان هم تحت تاثیر خطای 500 می باشد، به فایل منیجر هاست خود رفته و در مسیر، پوشه plugins را تغییر نام دهید:

public_html/wp-content

برای تغییر نام هم کافیست یک عدد در انتهای نام پوشه اضافه کنید! پس از تغییر نام و غیرفعال کردن تمامی افزونه ها، سایت خود را باز کنید. اگر خطا رفع شده بود، مشکل از افزونه ها است.

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

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

 


بروزرسانی دستی هسته وردپرس

اگر مراحل قبل تا به اینجا برای رفع خطا موثر نبوده، به ناچار به سمت بروز رسانی هسته وردپرس می رویم.

راه حل:

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

اما اگر پیشخوان در دسترس نیست، به سایت اصلی وردپرس رفته و آخرین نسخه موجود را دریافت کنید. سپس فایل دانلودی را در کامپیوتر شخصی خود Extract کرده و پوشه wp-includes را با فرمت Zip فشرده و در هاست خود بارگذاری نمایید. سپس فایل را در فایل منیجر Extract کرده تا فایل های جدید جایگزین فایل های قبلی شوند.

توجه: آپلود درست و کامل محتویات پوشه wp-includes به هیچ عنوان به اطلاعات سایت شما از قبیل مطالب، برگه ها و … آسیب نخواهد زد.

 


غیرفعال کردن قالب سایت

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

راه حل:

اگر به تازگی قالب خود را بروز رسانی کرده باشید و پس از آن شاهد این خطا هستید، ممکن است مشکل از آن باشد اما از طرفی نیز ممکن است قالب شما از توابع جدیدی استفاده می کند که برای اجرا شدن به افزونه هایی نیاز داشته باشد! بنابراین در هر نسخه سعی کنید از افزونه های مورد نیاز برای قالبتان اطلاع پیدا کنید و در صورت امکان افزونه های ضروری قالبتان را نصب و فعال کنید.

اما در این مرحله قصد داریم قالب را غیرفعال کنیم. برای غیرفعال کردن نیز همانند مرحله “غیرفعال کردن افزونه ها” باید در پوشه wp-content ، نام پوشه themes را تغییر دهیم. برای غیرفعال کردن و تغییر نام هم کافیست یک عدد به آخر نام این پوشه اضافه کنید.

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

 


تماس با هاستینگ

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

کانال موزیک

هنوز دیدگاهی ارسال نشده! نظر شما چیست؟

دیدگاه شما درباره این صفحه چیست؟