آموزش رفع خطای Internal Server Error 500 در وردپرس

7 روش برای رفع خطای Internal Server Error 500 در وردپرس

شایج یکی از گیج کننده ترین خطاها برای کاربران مبتدی در وردپرس خطای internal server error باشد. این پیغام معمولا زمانی نمایش داده می شود که خطایی ایجاد شده که سرور قادر به شناسایی آن نیست. خطای internal server error که به خطای سرور معروف است از جمله شایع ترین خطاهایی بوده که کاربران مبتدی معمولا با بروز خطا نگران از دست رفتن اطلاعات خود می شوند.

در واقع به این شکل نیست و خطای internal server error هم به مانند همه ی مشکلاتی که ممکن است در امور زندگی برای ما پیش آید به سادگی قابل حل است، البته از انجایی که پیغامی که در خطای internal server error نمایش داده می شود منشا خطا را مشخص نمی کند، تشخیص این مشکل با شما بستگی دارد، نگران نباشید زیرا هر خطایی قابل حل است و مشخص نشدن منشا خطا به معنی حل نشدن خطا نیست!

در این مقاله ما لیستی از راه حل های احتمالی برای رفع خطای internal server error 500 را برای شما آماده کرده ایم تا به کمک راه حل های موجود در این مقاله به شما نشان دهیم چگونه این خطا را به سادگی رفع کنید.

خطاهای Internal Server Error

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


Internal Server Error 500
500 Internal Server Error
Error 500
HTTP Error 500
HTTP Error 500 – Internal Server Error
Temporary Error (500)

دلایل بروز خطای سرور

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

آموزش رفع خطای Internal Server Error 500 در وردپرس

خطای سرور اغلب از سمت توابع نادرست، افزونه ها یا قالب ایجاد می شود. در بسیاری از موارد نیز می تواند از سمت فایل .htaccess یا PHP Memory Limit باشد. در برخی موارد ممکن است که فقط بخشی از سایت شما با خطای Internal Server Error مواجه باشد و سایر قسمت های سایت شما به درستی کار کند.

مراحل رفع خطای Internal Server Error 500 یا خطای سرور

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

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

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

بررسی فایل .htaccess

اولین چیزی که در خطای سرور نیاز است بررسی کنید فایل .htaccess است. این فایل در ریشه اصلی سایت شما در cPanel قرار دارد «به طور پیشفرض پوشه public_html» و در برخی از هاست ها ممکن است به صورت مخفی ( hidden ) باشد و شما قبل از ویرایش نیاز دارید که ابتدا این فایل را از حال مخفی خارج کنید.

برای آشکار کردن فایل در صورتی که از هاست cPanel استفاده می کنید، کافیست وارد یخش مدیریت فایل « File Manager » هاست خود شده و روی گزینه تنظیمات « Settings » در منوی بالای صفحه کلیک کنید، سپس در پنجره باز شده تیک گزینه نمایش فایل های مخفی « Show Hidden Files » را فعال کرده و سپس روی دکمه ذخیره یا Save کلیک کنید.

نمایش .htaccess در cPanel

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

بررسی فایل .htaccess

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

اگر با بررسی فایل .htaccess مشکل شما رفع نشد این مقاله را ادامه داده و سایر روش های موجود را بررسی کنید.

افزایش حافظه PHP memory limit

برخی اوقات ممکن است بخاطر محدودیت حافظه با خطای Internal Server Error مواجه شوید، برای مثال ممکن است شما فقط در هنگام آپلود یک رسانه در بخش مدیریت با خطای internal server error 500 مواجه شوید، در این صورت شما باید به دنبال راهی برای افزایش حافظه باشید. برای حل این مشکل می توانید از طریق مدیریت هاست خود یا نرم افزار های FTP اقدام کنید.

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

جهت مشاوره و کسب اطلاعات بیشتر از طریق واتساپ با شماره ۰۹۹۹۹۹-۱۵۸-۱۱ در تماس باشید.

پروژه محور - ارتباط مستقیم با مدرس

برای حل این مشکل ابتدا یک فایل به نام php.ini ایجاد کنید و کد زیر رو داخلش قرار بدید و اون رو ذخیره کنید

memory=512MB

پس از ذخیره کردن فایل، فایل php.ini رو به پوشه wp-admin در هاستتون انتقال بدید. در صورتی که با استفاده از روش فوق مشکل شما حل نشد، شما میتوانید به فایل wp-config.php مراجعه کنیدو کد زیر رو به فایل اضافه کنید:

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

در صورتی که هر دو روش را امتحان کردید اما نتیجه ای حاصل نشد، ممکن است شما دسترسی لازم برای ایجاد چنین تغییراتی را در هاست خود نداشته باشید.

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

البته ما یک مقاله جامع هم در این خصوص داریم که برای مطالعه آن می توانید به مقاله آموزش رفع خطای Memory Exhausted Error در وردپرس مراجعه کنید.

اگر با طی کردن مراحل بالا خطای Internal Server Error نشد، مراحل زیر را دنبال کنید

غیر فعال کردن تمامی افزونه ها

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

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

ابتدا راه ساده تر را امتحان می کنیم، وارد بخش مدیریت فایل هاست خود شوید و پوشه wp-content را باز کنید، در این بخش شما یک پوشه به نام plugins مشاهده می کنید، در اینجا تنهای کاری که باید انجام دهید تغییر نام این پوشه است، برای مثال نام پوشه را به plugins.deactivate یا plugins2 یا هر چیز دیگری تغییر دهید.

غیر فعال کردن تمامی افزونه ها

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

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

اگر خطا رفع نشده نگران نباشید این آموزش همچنان ادامه دارد، با ما همراه باشید.

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

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

در صورتی که به پیشخوان وردپرس دسترسی ندارید تغییر قالب را باید به صورت دستی و از طریق هاست انجام دهید، برای تغییر قالب از طریق هاست نیاز به ویرایش دیتابیس است. بر روی phpMyAdmin در بخش Databases کلیک کنید.

خدمات طراحی سایت

طراحی سایت مطابق با استانداردهای روز برنامه‌نویسی، به همراه آموزش استفاده و ۶ ماه پشتیبانی رایگان

گرفتن بکاپ از وردپرس - دیتابیس وردپرس

در این مرحله برای وارد شدن به بخش phpMyAdmin شما به نام کاربری و پسورد دیتابیس وردپرس خود نیاز دارید در صورتی که از چندین سایت و دیتابیس های جداگانه در هاست خود استفاده می کنید، و نام کاربری یا رمز ورود به دیتابیس خود را فراموش کرده اید، جای نگرانی نیست و شما می توانید با مراجعه به فایل wp-config.php در دایرکتوری اصلی سایت وردپرس « به طور پیشفرض public_html » به اطلاعات مورد نیاز خود دست پیدا کنید.

پس از وارد شدن به دیتابیس سایت وردپرس خود روی wp_options کلیک کنید، توجه داشته باشید در صورتی که شما از prefix یا پیشوند پیشفرض وردپرس استفاده کرده باشید wp_options را مشاهده می کنید در صورتی که prefix را تغییر داده باشید با پیشوند انتخابی شما نمایش داده می شود برای مثال academy_options

تغییر قالب از طریق دیتابیس

در این جدول در جستجوی عناوین template و stylesheet باشید. پس از مشاهده این دو همانطور که مشاهده می کنید نام قالب شما در این بخش قرار داده شده برای تغییر قالب شما نیازمند تغییر این نام هستید. نام درج شده با دبل کلیک و یا کلیک روی Edit قابل ویرایش است

تغییر قالب database

در این بخش شما نیاز دارید تا نام پوسته جدید را جایگزین پوسته فعلی کنید برای اینکار وارد مدیریت فایل هاست خود شوید پوشه wp-content و سپس پوشه themes را باز کنید، در این بخش تمامی پوسته ها را در پوشه های جدا مشاهده می کنید نامی که ما برای تغییر پوسته به آن نیاز داریم نام پوشه مورد نظر است. نام پوشه را کپی کرده و در بخش template و stylesheet وارد کنید.

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

خطای سرور به علت دسترسی فایل ها و پوشه ها

یکی دیگر از دلایل شایع بروز خطای internal server error سطح دسترسی نادرست فایل ها و پوشه های شماست. توجه داشته باشید که سطح دسترسی تمامی پوشه های شما باید روی عدد 755 و سطح دسترسی فایل ها روی عدد 644 تنظیم شده باشد در صورت تنظیم نادرست دسترسی، امکان ایجاد خطای internal server error بسیاز زیاد است.

پس تمامی پوشه های خود را روی 755 و تمامی فایل ها را روی عدد 644 تنظیم کنید، البته فایل wp-config.php را می توانید برای امنیت بیشتر روی 400 یا 440 تنظیم نمایید. توجه داشته باشید که دسترسی هیچکدام از فایل های شما نباید روی 777 تنظیم شوند.

در صورتی که تنظیمات دسترسی فایل ها و پوشه های شما صحیح نبود به احتمال زیاد خطای internal server error به همین دلیل ایجاد شده است. برای حل مشکل روی فایل یا پوشه مورد نظر رو انتخاب و گزینه permissions یا change permissions رو انتخاب کنید.

دسترسی فایل

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

دسترسی فایل

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

بارگذاری مجدد هسته وردپرس

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

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

آپلود مجدد فایل های وردپرس

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

تماس با شرکت میزبانی

در صورتی که تمامی روش های ذکر شده را به طور صحیح انجام داده باشید و خطای internal server error همچنان رفع نشده باشد لازم است که شما با بخش پشتیبانی شرکت میزبانی خود تماس بگیرید تا شما را راهنمایی کنند. مسلما شرکت میزبانی شما قادر به بررسی رو رفع خطا خواهد بود.

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

اگر مشکل حل نشد، از کجا می توان پشتیبانی وردپرس را دریافت کرد؟

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

در همگام وب نیز خدمات پشتیبانی وردپرس به صورت 24 ساعته و در 7 روز هفته ارائه شده است، خدمات پشتیبانی به جهت کیفیت و نظارت بهتر دارای ظرفیت محدود بوده که این امر موجب پاسخدهی و رفع مشکل در سریع‌ترین زمان خواهد بود.

2 Comments

مقالتون خیلی بهم کمک کرد خدا خیرتون بده ازتون ممنونم