خطای داخلی سرور یا همان internal server error 500 در بین خطاهای وردپرسرایج می باشد. به صورت کلی خطاهای 5XX مربوط به سرور هستند که در صورت وجود مشکل برنامهنویسی یا مواردی که باعث تداخل در سرور میشود به وجود میآیند.
این خطا دلایل بسیار زیادی دارد و نحوه نمایش آن نیز به شکلهای مختلفی میباشد. نامگذاری مختلفی نیز روی آن صورت گرفته و با نامهایی همچون خطای داخلی سرور نیز آن را میشناسیم.
رفع ارور 500 در وردپرس
پیش از هر چیز باید بدانید که خطای http error 500 به دلایل گوناگونی رخ میدهد و نحوه نمایش آن نیز به شکلهای مختلف است.
اما حالتهای مختلفی از آن نیز وجود دارند که شامل گزینههای زیر میباشد.
- HTTP 500 Internal Server
- internal server error
- error 500
- http error 500
- و…
گذشته از این موارد، ارور 500 صرفا محدود به وردپرس نبوده و در سایر سیستمهای مدیریت محتوا مثل جوملا، دروپال و سیستمهای اختصاصی و در هر زبان برنامه نویسی دیگری مثل asp.net نیز وجود دارد. تنها تفاوت در نحوه نمایش خطا است که در همه حالتها عبارت 500 به عنوان خطا قابل مشاهده است.
فایل htaccess.
بیشترین علتی که خطای 500 وردپرس به وجود می آید به دلیل خراب شدن فایل htaccess. است.
برای این کار کافی است نام فایل htaccess. هاست خود را به یک نام دیگری مثل htaccess.bak. تغییر نام دهید.
برای این منظور کافی است مشابه تصویر زیر به کمک ابزار FTP نام فایل را که در پوشه public_html میباشد تغییر نام دهید.
اگر خطا برطرف شد کافی است به مسیر نمایش> پیوندهای یکتا مراجعه کرده و یک بار روی دکمه ذخیره تغییرات کلیک کنید تا فایل جدید در هاست شما ساخته شود.
افزایش مقدار حافظه PHP
گاهی اوقات مشکل خطای 500 به هاست شما بر میگردد که به دلیل پایین بودن مقدار حافظه php رخ میدهد. برای این کار کافی است به وسیله قطعه کد زیر میزان حافظه را افزایش دهید.
برای این منظور کافی است فایل wp-config.php هاست خود را به کمک ابزار FTP باز کرده و کد زیر را درون فایل قرار دهید.
define('WP_MEMORY_LIMIT', '64M');
سطح دسترسی فایلها و پوشهها
گاهی اوقات این مشکل بعد از انتقال وردپرس به هاست دیگر رخ میدهد که به دلیل تغییر یافتن سطح دسترسی فایلها و پوشهها ایجاد میشود.
هر فایل و پوشه در هاست باید دارای سطح دسترسی خاص خواندن و نوشتن باشد که هم از نظر امنیتی مشکلی وجود نداشته باشد و هم اینکه باعث به وجود آمدن چنین خطایی نشود. سطح دسترسی در وردپرس به شکل زیر است.
- سطح دسترسی فایلها یا پوشهها: 755 یا 644
- سطح دسترسی فایل wp-config.php برابر با 400
برای تغییر سطح دسترسی کافی است به کمک ابزار FTP یا هاست خود از گزینه change permission استفاده کرده و به شکل زیر آنها را تنظیم کنید.
غیرفعال کردن تمامی افزونهها
اگر به تازگی افزونهای نصب کردید یا اینکه اقدام به نصب افزونه کردید و خطای 500 وردپرس درست بعد از انجام این کار رخ داد مشکل از سمت افزونههاست.
در صورتی که بلافاصله با فعال کردن یا آپدیت افزونه خاصی مشکل رخ دهد کار شما ساده است و کافی است که افزونه مورد نظر را غیرفعال کرده و مشکل را بررسی کنید.
اما اگر این طور نبود باید کلیه افزونهها را غیرفعال کنید. در چنین شرایطی با دو حالت روبهرو میشوید.
- در صورتی که دسترسی به پیشخوان وردپرس دارید، کافی است به منوی افزونهها مراجعه کرده و کلیه افزونههای وردپرس را غیرفعال کنید. سپس با فعال کردن هر افزونه سایت را بررسی کنید. بعد از اینکه با فعال کردن افزونه خاصی خطا مجددا رخ داد مشخص میشود که مشکل از کدام افزونه است که باید افزونه مورد نظر را بررسی کنید.
- در صورتی که دسترسی به پیشخوان وردپرس ندارید، باید از مسیر file manager هاست خود یا اینکه ابزار FTP به مسیر /public_html/wp-content/ مراجعه کنید. سپس نام پوشه plugins را به کمک گزینه rename نام دیگری مثل plugins.test تغییر نام داده و ذخیره کنید.
شناسایی ارور 500 به کمک فعال کردن دیباگ وردپرس
در صورتی که تا اینجا موفق به شناسایی علت و رفع خطای internal server error 500 نشدید میتوانید از قابلیت دیباگ وردپرس یا همان حالت عیب یابی استفاده کنید. برای این منظور کافی است فایل wp-config.php را باز کرده و کدهای زیر را مشابه تصویر درون آن قرار دهید.
define( 'WP_DEBUG', true );
توجه کنید برای غیر فعال کردن دیباگ کد زیر را جایگزین کد قبلی کنید.
define( 'WP_DEBUG', false );
آپلود مجدد وردپرس
اگر باز هم تا به اینجا موفق به رفع ارور 500 در وردپرس نشدید راهکار نهایی این است که وردپرس را یک بار دیگر دانلود کرده و به جز پوشه wp-content و فایل wp-config.php باقی فایلها و پوشهها را مجددا در وردپرس آپلود کنید.
به هاستینگ خود تیکت بزنید
اگر به وسیله این راهکارها موفق به رفع خطا نشدید راهکار نهایی این است که با مدیریت شرکت هاستینگ خود تماس گرفته و با ارسال تیکت درخواست کنید تا مشکل را برطرف نمایند.