خطای 500 internal server error (خطای 500 سرور) یکی از خطاهای رایج در سطح اینترنت است.این خطا به وب سایت های وردپرسی محدود نمیشود و امکان دارد برای هر سایتی که روی وب سرور قرار دارد رخ بدهد.
همانگونه که درمورد خطای 503 اعلام کردیم،پیدا کردن دلیل و منشأ این خطاها به دلیل اینکه در متن خطا توضیحات خاصی ارائه نشده است، دشوار است.از متن این خطاها فقط می شود اینگونه استنباط کرد که چیزی در سایت درست کار نمی کند!دقیقا شبیه به بیماری که بدون اعلام محل درد از پزشک میخواهد آن را درمان کند!
در نگاه اول برطرف کردن این خطا سخت به نظر میرسد ، اما با طی مراحل زیر میتوان ریشه خطا را در یک وب سایت وردپرسی پیدا کرد و آن را برطرف نمود.
خطای 500 internal server error چیست؟
internal server error همان گونه که از عنوان خطا مشخص است، خطایی در سطح سرور است و زمانی رخ می دهد که سرور توانایی نمایش صفحه درخواستی کاربر را نداشته باشد.
شما وقتی آدرس یک صفحه را در مرورگر خود وارد میکنید در واقع درخواستی برای نمایش آن را به سرور ارسال میکنید. زمانی که به هر دلیلی سرور قادر به نمایش صفحه ی درخواستی شما را نداشته باشد ، با خطای 500 internal server error مواجه خواهید شد.
دلیل رخ دادن خطای 500 سرور در وردپرس چیست؟
تصور کنید وب سایت شما درست تا همین چند روز پیش عملکرد درستی داشته است ولی به یک باره زمانی که یکی از صفحات آن را درخواست میکنید با این خطا مواجه میشوید، حتما این سوال برای شما پیش خواهد آمد که دلیل مشاهده این پیغام خطا جیست؟ به طور کلی دلایل متفاوتی میتواند باعث بروز این خطا شود، کار نکردن صحیح پوسته فعال یا افزونه ها ، خرابی فایل .htaccess و محدودیت حافظه PHP میتواند از دلایل وقوع آن باشد.
چگونه خطای 500 internal server error را در وردپرس برطرف کنیم؟
با طی کردن مراحل زیر می توانید علت بروز خطا در وب سایت خود را شناسایی کرده و آن را برطرف کنید.
پیشنهاد پالت به شما این است که پیش از انجام هرگونه تغییری در وب سایت خود از داده هایتان نسخه پشتیبان تهیه کنید.
1 – خرابی فایل htaccess
در اولین اقدام زمانی که با خطای internal server error مواجه میشوید باید فایل .htaccess خود را بررسی کنید.
برای این کار ، از طریق مدیر فایل سی پنل یا نرم افزار FTP خود وارد پوشه public_html شوید.فایل htaccesss در همین پوشه قابل دسترسی است(در صورتی که آن را مشاهده نمیکنید، روی Setting کلیک کنید، و تیک Show Hidden Files(dotfiles) را فعال کنید) روی فایل کلیک راست کرده، Rename را بزنید و نام فایل را به دلخواد تغییر دهید(مثلا .htaccess_old)
زمانی که تغییر نام فایل را انجام دادید ، مجددا تلاش کنید تا به یکی از صفحات سایت خود دسترسی داشته باشید، اگر خطا برطرف شده بود ، مشکل از خرابی فایل htaccess شما بوده است.
پیش از اینکه اقدام دیگری در سایت خود انجام دهید، وارد تظیمات-> پیوند های یکتا در پیشخوان وردپرس خود شوید و بدون انجام هیچ تغییری، دکمه “ذخیره تغییرات ” را بزنید. این کار یک فایل htaccess جدید برای وب سایت شما ایجاد خواهد کرد و کدهای لازم را اضافه میکند تا صفحات یا نوشته های شما با خطای 404 مواجه نشوند.
در صورتی که این کار خطای 500 سایت شما را برطرف نکرد، در ادامه این مقاله همراه ما باشید تا راه حل های دیگر را با هم بررسی کنیم.
2 – افزایش محدودیت حافظه PHP
گاهی اوقات اگر تلاش کنید بیشتر از مقداری که برای حافظه PHP که مشخص کردید، از منابع استفاده کنید با این پیغام خطا مواجه خواهید شد.در صورتی که تنها زمانی که قصد ورود یا بارگذاری عکس در سایت وردپرسی خود را دارید با خطای 500 internal server error مواجه میشوید میتوانید با انجام یکی از روش های زیر مقدار حافظه خود را افزایش دهید:
از طریق فایل php.ini
برای افزایش حافظه PHP از این روش مراحل زیر را انجام دهید:
- یک فایل خالی به نام php.ini ایجاد کنید.
- این کد را در آن کپی کنید : memory=128MB
- فایل را ذخیره کنید
- فایل را در پوشه wp-admin سایت خود آپلود کنید.
فایل functions.php
فایل functions.php در پوشه مربوط به پوسته فعال شما قابل دسترسی است.به سادگی از طریق مدیر فایل سی پنل خود به مسیر wp-content/themes و از آن به پوشه تم فعال خود رفته و فایل functions.php را پیدا کنید. با کلیک راست روی فایل و زدن Edit میتوانید فایل مورد نظر را ویرایش کنید.کدهای زیر را بعد از تگ باز شده php این فایل اضافه کرده و ذخیره کنید:
@ini_set('upload_max_size' , '64M'); @ini_set('post_max_size', '64M'); @ini_set('max_execution_time', '300');
فایل htaccess
میزان حافظه PHP را به سادگی میتوان از طریق فایل htaccess هم افزایش داد.برای این کار کافیست کدهای زیر را به این فایل اضافه کنید.(با کلیک راست روی فایل و زدن Edit میتوانید فایل مورد نظر را ویرایش کنید.)
php_value upload_max_filesize 64M php_value post_max_size 64M
فایل wp-config.php
یکی دیگر از روش های افزایش حافظه php از طریق اضافه کردن کد های زیر به فایل wp-config.php است.این فایل در پوشه public_html قابل دسترسی است. .(با کلیک راست روی فایل و زدن Edit میتوانید فایل مورد نظر را ویرایش کنید.)
define('WP_MEMORY_LIMIT', '128M'); ini_set('post_max_size', '64M'); ini_set('upload_max_filesize', '64M')
بسیاری از کاربران با انجام دادن مراحل بالا موفق به حل مشکل خود شده اند.
در صورتی که افزایش حافظه PHP خطای 500 internal server error سایت شما را برطرف نکرد ،روش هایی که در ادامه مورد بررسی قرار میدهیم را روی سایت وردپرسی خود امتحان کنید.
3 – غیر فعال سازی تمام افزونه ها
در صورتی که روش های بالا مشکل سایت شما را برطرف نکرد ، ممکن است مشکل از عملکرد نامناسب یکی از افزونه های سایت باشد.علاوه بر این ممکن است رفتار برخی افزونه ها با هم تداخل داشته باشد و باعث وقوع مشکل فوق شده باشد.
تنها راهی که میتوان تشخیص داد مشکل از رفتار نامناسب افزونه ها بوده است یا خیر این است که تمام افزونه های سایت را غیر فعال کنید.
برای این کار از طریق FTP یا File Manager سی پنل خود به پوشه wp-content بروید، روی پوشه plugins راست کلیک کنید و با زدن Rename نام آن را تغییر دهید(به طور مثال قرار دهید plugins-old)
سپس یک پوشه جدید ایجاد کنید و نام آن را plugins قرار دهید تا مشکلی در اجرای وردپرس ایجاد نشود.
دوباره برای دسترسی به سایت خود تلاش کنید.در صورتی که مشکل برطرف شده بود، ایراد از عملکرد یکی از افزونه ها یا عملکرد چند افزونه در کنار یکدیگر خواهد بود.
در ادامه به سی پنل خود بازگردید، پوشه plugins که ایجاد کرده بودید را حذف کنید، و نام plugins-old را به plugins بازگردانید. در این حالت تمام افزونه های شما از طریق پیشخوان وردپرس در دسترس هستند ولی غیر فعال هستند.سپس از طریق پیشخوان، یکی یکی افزونه ها را فعال کنید تا متوجه شوید دلیل ایجاد خطای internal server error کدام یک از افزونه های سایت شما بوده است ،آن را حذف و با افزونه مناسب جایگزین کنید.
4 – آپلود مجدد فایل های وردپرس
در صورتی که غیر فعال سازی افزونه ها نیز خطای 500 internal server error را برطرف نکرد، شما باید فایل های اصلی وردپرس را دوباره روی سرور خود نصب کنید. در این حالت اگر فایلی آسیب دیده باشد، مشکل برطرف خواهد شد.
دقت داشته باشید که اینکار اطلاعات سایت شما را حذف نخواهد کرد و فقط یک نسخه بدون نقص وردپرس را در سایت شما قرار خواهد داد . در برخی از موارد انجام دادن این کار باعث رفع خطای 500 سایت شده است.
برای انجام دادن این کار با مراجعه به سایت وردپرس ، آخرین نسخه یا نسخه مورد نظر خود را دانلود کنید،آن را از حالت فشرده خارج کنید و با استفاده از FTP یا مدیر فایل سی پنل خود پوشه های wp-admin و wp-includes آن را داخل پوشه public_html خود آپلود کنید تا جایگزین فایل های قبلی شود.
انجام دادن این کار در صورتی که فایل های خراب وردپرس باعث بروز خطا شده باشند مشکل را برطرف خواهد کرد.
5 – ارتباط با سرویس دهنده هاست
در صورتی که تمامی روش های بالا باعث رفع مشکل سایت شما نشد، باید با سرویس دهنده هاست خود ارتباط برقرار کنید و از آنها کمک بخواهید.آن ها با بررسی خطاهای شما متوجه دلیل ایجاد خطای internal server error خواهند شد و آن را برطرف میکنند.
بیشتر بخوانید: برترین شرکت های هاستینگ ایرانی
4 دیدگاه دربارهٔ «خطای 500 Internal server error»
مشکل وب سایت من با راه حل اول حل شد.. خیلی ممنونم از مطلب خوبتون…
ممنونم دوست عزیز.. امیدوارم دیگر مطالبمون هم مورد توجهتون قرار بگیره
گوگل از برخی صفحات سایتم خطایی گرفته وقتی بررسی کردم متوجه شدم به انتهای اون آدرسها آدرس سایتم اضافه شده …. برای رفع این مورد چکاری باید انجام دهم…
http://nikinkala.com/product-tag/bilka-cream/Nikinkala.com
دوست عزیز آیا با آدرس این صفحات رو تغییر دادین (redirect) ؟
از افزونه yoast seo استفاده میکنین؟