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