وجود یک خطا در سایت هیچوقت خوشایند نیست. اگر مدیر یک سایت وردپرسی هستید حتما با خطای 500 مواجه شدهاید، در صورت نمایش یک خطا سعی کنید هرچه سریعتر اقدام به رفع آن کنید وجود یک خطا در سایت باعث از دست دادن ترافیک فروش در وب سایت میشود و اگر برای مدتی افلاین باشید به تلاش های شما برای بهینه سازی موتور جستوجو (SEO) سایت آسیب میرساند.
خوشبختانه خطای 500 جز خطاهایی است که دلیل مشخصی دارد و راه های زیادی را برای رفع این خطا میتوان بررسی کرد. بسیاری از این راه حل ها نسبتا ساده هستند و برای شروع عیبیابی به دانش فنی زیادی نیاز ندارند. در این راهنما باهم مروری خواهیم داشت بر ارور Internal Server Error یا ارور ۵۰۰
ارور ۵۰۰ Internal Server Error وردپرس چیست
خطای 500 از آن دسته خطاهایی است که هنگام رخ دادن اطلاعات زیادی به ما نشان نمیدهد، در واقع حتی ممکن است هیچ اطلاعاتی از آن دریافت نکنیم. البته ارور 500 یک مشکل عمومی است و مختص وردپرس نیست. لزوما این خطا به معنی مشکل در سرور نیست گاها ممکن است مشکل از وب سایت و یا حتی مشکل از مرورگر باشد.
خطا 500 میتواند یک تجربه منفی در ذهن مخاطبانتان ایجاد کند و بازدید کنندگانتان این احتمال را بدهند که شما در کسب و کار اینترنتی خود غیرحرفهای هستید. یک تجربه کاربری ضعیف نه تنها بر رتبه بندی سایت اثر مخرب دارد بله میتواند باعث از دست دادن مشتریانتان نیز شود، جدا از همه این مطالب اگر سایت در دسترس نباشد بازدید و در نتیجه تجارتی صورت نخواهد گرفت.
غیر از خطای 500 خطاهای متفاوتی در وردپرس وجود دارد که ممکن است هر از گاهی با آنها مواجه شوید از جمله این خطاها میتوان به موارد زیر اشاره کرد:
- ارور 429 Too Many Requests
- ارور 413 request entity too large
- ارور 503 Service Unavailable
- 403 Forbidden – Access Denied
- ارور 404 not found
ساختار Internal Server Error
نسبت به وب سرور، مرورگر و علت خطای ایجاد شده تغییراتی در نحوه ظاهر شدن خطا وجود دارد. به عنوان مثال: اگر اتصال به پایگاه داده هاست وردپرس نمیتواند برقرار شود، ممکن است چیزی شبیه به این را ببینید: یک صفحه سفید ساده که گاهی اوقات به عنوان صفحه سفید مرگ (WSoD) نامیده میشود، میتواند خطای 500 سرور داخلی را نشان دهد. بسیاری از صاحبان سایت این امکان را دارند که پیغام خطا 500 را سفارشی کنند. بنابراین ممکن است این خطا را به گونههای مختلف ببینید.
دلایل ایجاد خطا 500 در وردپرس
طیف وسیعی از دلایل برای ایجاد خطا 500 وجود دارد، دلایل احتمالی ایجاد 500 Internal Server Error وردپرس عبارتند از :
- مشکلات سازگاری افزونه
- محدودیت های اعمال شده در PHP
- فایل های خراب
- خطاهای کدنویسی یا نحوی
همانطور که قبلا هم اشاره کردهایم ارور 500 اطلاعات چندانی در اختیار ما قرار نمیدهد پس لازم است برای یافتن دلیل ایجاد خطا و همینطور نحوه رفع آن روش های متفاوتی را بررسی کنیم.
نحوه رفع ارور 500 وردپرس
اکنون که متوجه آن شدهاید که علت ایجاد خطای 500 چیست وقت آن است که در مورد چگونگی رفع آن صحبت کنیم. در اینجا ده نکته برای رفع مشکل 500 Internal Server Error ارئه شده است.
مرحله 1 : تهیه نسخه پشتیبانی
قبل از انجام هر کاری همیشه هوشمندانه ترین اقدام تهیه نسخه پشتیبانی از سایت است. برای تهیه یک نسخه پشتیبانی باید کپی از فایل های وردپرس و همچنین پایگاه های داده را ذخیره کنید. میتوانید آموزش نحوه بکاپ گیری از هاست سی پنل را در این مقاله مشاهده کنید.
مرحله 2 : بارگزاری مجدد صفحه
خوشبینانهترین حالت برای رفع خطا 500 بارگزاری مجدد صفحه است. در برخی مواقع ارور 500 پیش امده به طور خودکار و در عرض چند ثانیه رفع میشود. به عنوان مثال: اگر به تازگی تغییراتی در یک افزونه یا تم ایجاد کردهاید، یا اگر هاست شما با ترافیک غیرعادی و سنگینی مواجه شده باشد، ممکن است خطای سرور را مشاهده کنید. در چنین حالتی یک بارگذاری مجدد صفحه باید همه چیز را به حالت عادی بازگرداند. بنابراین، اولین چیزی که باید امتحان کنید این است که یک یا دو دقیقه منتظر بمانید، که در طی آن، امیدواریم خطا برطرف شود. سپس میتوانید با فشار دادن F5 صفحه را دوباره بارگیری کنید.
مرحله 3 : پاک کردن کش مرورگر
یکی دیگر از روش های رفع خطا 500، پاک کردن کش مرورگر است. این امکان وجود دارد که حافظه کش مرورگر خراب شده باشد، که در هنگام تلاش برای دسترسی به وبسایتها مشکل ایجاد میکند. بررسی نمایید آیا ۵۰۰ Internal Server Error فقط برای شما نمایش داده میشود یا خیر؟ اگر فقط در مرورگر شما خطای 500 مشاهده میشود ممکن است مشکل از مرورگرتان باشد میتوانید با مرورگر دیگری به سایت دسترسی پیدا کنید اگر با مرورگر دیگری خطا 500 نمایش داده نشد، نشان دهنده آن است که مشکل از حافظه کش مرورگر است.
- در گوگل کروم، میتوانید کش را با فشار دادن Ctrl + Shift + Delete پاک کنید. همچنین، میتوانید روی سه نقطه عمودی در گوشه سمت راست بالا صفحه کلیک کنید و سپس ابزارهای بیشتر > پاک کردن دادههای مرورگر (More tools > Clear browsing data) را انتخاب کنید. حتماً کادر تصاویر و فایلهای ذخیره شده را علامت بزنید. سپس بر روی دکمه Clear data کلیک کنید.
- پاک کردن کش فایرفاکس: میتوانید کش را با استفاده از کلید Ctrl + Shift + Delete پاک کنید. با این کار پنجره Clear Recent History باز میشود. در منوی کشویی Time range to clean، همه گزینه ها را انتخاب کنید. کادر Cache را علامت بزنید و سپس بر روی OK کلیک کنید.
- پاک کردن کش سافاری: میتوانید به منوی History بروید و پاک کردن تاریخچه را انتخاب کنید.
هنگامی که کش مرورگر را پاک کردید، دوباره سایت را بررسی کنید آیا خطای 500 رفع شده است یا خیر؟ اگر همچنان خطای سرور داخلی 500 را مشاهده میکنید، وقت آن رسیده است که به سراغ مرحله بعدی بروید.
مرحله 4 : بررسی error logs سایت
فایل logs این دانش را به شما میدهد که علت ایجاد خطا 500 را بهتر بیابید سعی کنید همیشه error logs های سایت را بررسی کنید.
مرحله 5 : اتصال به پایگاه داد را بررسی کنید
اگر مشکلی در برقراری اتصال پایگاه داده وجود داشته باشد، نه تنها سایت برای بازدیدکنندگان آفلاین خواهد بود، بلکه نمیتوانید به پیشخوان مدیریت وردپرس نیز دسترسی داشته باشید. چندین دلیل احتمالی برای ایجاد این مشکل وجود دارد:
- اعتبارنامه ورود به پایگاه داده نادرست است
- پایگاه داده وردپرس خراب
- فایل نصب وردپرس خراب است
یکی از دلایل رایج ارور 500 خطای اتصال به پایگاه داده است، در قسمت MySQL، دیتابیس متصل به سایت خود را پیدا کنید در بخش user نام کاربری مورد نظر را انتخاب و بر روی گزینه change password کلیک کنید، پسورد جدید را وارد کنید. اطلاعات دیتابیس، user و رمز ورود را با اطلاعات ثبت شده در فایل wp-config.php مقایسه کنید، لازم است مقادیر دیتابیس با فایل wp-config.php یکی باشد در صورت مغایرت فایل wp-config.php را ویرایش کنید .
مرحله بعد >> اگر پایگاه داده دچار مشکل شده است، میتوانید به سرعت آن را از طریق phpMyAdmin تعمیر کنید. در سی پنل خود وارد phpMyAdmin شوید و روی دیتابیس در پنل سمت چپ کلیک کنید. تمام جداول موجود در پایگاه داده را انتخاب کنید و سپس از منوی کشویی گزینه Repair table را انتخاب کنید.
اگر همچنان با خطای 500 روبرو شدید ممکن است لازم باشد وردپرس را مجدد نصب کنید، میتوانید آموزش نصب وردپرس را مطالعه فرمایید.
مرحله 6 : بررسی مجوزها
اگر مجوزهای هر یک از فایل ها به درستی تنظیم نشده باشد، ممکن است Internal Server Error 500 را مشاهده کنید. روی هر فایلی کلیک راست کرده و File permissions را انتخاب کنید تا change Permissions برای شما نمایش داده شود. در صورت نیاز مجوزهای جدیدی را برای فایل تنظیم کنید. به طور معمول، فایل ها را روی “644” و فهرست ها و فایل های اجرایی را روی “755” تنظیم کنید. با این حال، اگر در مورد مقادیر صحیح مطمئن نیستید، میتوانید با پشتیبانی هاست خود تماس بگیرید.
مرحله 7 : افزایش حافظه PHP
دلیل دیگری که ممکن است Internal Server Error 500 را مشاهده کنید، این است که از محدودیت حافظه PHP سرور فراتر رفتهاید و نیاز به افزایش منابع دارید. قبل از اینکه بخواهید محدودیت حافظه را افزایش دهید، لازم است از محدودیت حافظه با خبر شوید. میتوانید این کار را از طریق داشبورد مدیریت وردپرس انجام دهید. به خاطر داشته باشید که در برخی مواقع با خطای 500، نمیتوانید به داشبورد دسترسی داشته باشید. اگر اینطور باشد، ممکن است مجبور شوید این مرحله را نادیده بگیرید.
از داشبورد وردپرس ، به Tools > Site Health >Info در بالای صفحه کلیک کنید و به قسمت Server بروید. میتوانید محدودیت حافظه PHP را در آنجا ببینید. برای افزایش محدودیت حافظه PHP، فایل htaccess را ویرایش کنید. فایل htaccess. نحوه تعامل وردپرس با سرور و نحوه ایجاد پیوندهای دائمی برای صفحات را کنترل میکند، بازگرداندن آن به تنظیمات پیش فرض میتواند خطای 500 را برطرف کند.
برای بازیابی فایل htaccess. وارد cpanel شوید. از قسمت file گزینهی File Manager را انتخاب کنید.
باید به پوشه ریشه وردپرس بروید که حاوی تمام فایل های سایت است. معمولاً در هاست لینوکس سیپنل public_html و در هاست دایرکت ادمین www نامیده میشود. فایل htaccess. یک فایل مخفی است و برای دسترسی به آن لازم است یکسری تنظیمات اعمال کنید.
در قسمت بالای File Manager سمت راست بر روی گزینه settings کلیک کنید. در قسمت preferences تیک گزینه Show Hidden Files را فعال کنید و گزینه save را انتخاب نمایید.
همانطور که میبینید فایل htaccess. فعال میشود روی فایل htaccess. کلیک راست کنید و گزینه Edit را انتخاب کنید تا وارد ویرایشگر فایل شوید اطلاعات فایل را با اخرین نسخه backup فایل htaccess. جایگزاری کنید و بر روی گزینه save کلیک کنید. فایل را باز کنید و کد زیر را اضافه کنید:
php_value memory_limit xxxM
میتوانید “xxx” را با مقدار حافظه مورد نظر جایگزین کنید. معمولاً 256M کافی است.
همچنین میتوانید با ویرایش فایل php.ini محدودیت حافظه را افزایش دهید کد زیر را به انتهای فایل اضافه کنید:
memory_limit = xxxM
گزینه دیگر این است که کد زیر را در بالای فایل wp-config.php اضافه کنید:
define(‘WP_MEMORY_LIMIT’, ‘xxxM’);
اگر با این کار خطای 500 برطرف شود، وظیفه بعدی این است که بفهمید چه چیزی باعث پر شدن حافظه شده است. شاید یک پلاگین یا تم مشکل ساز شده باشد.
مرحله 8 : بررسی فایل htaccess.
فایل htaccess یکی از فایل های اصلی وردپرس است بنابراین میتواند خطای 500 Internal Server Error را ایجاد کند. اگر فایل htaccess. خراب شده است، لازم است آن را بررسی کنید و یا حتی یک فایل جدید ایجاد کنید. همانطور که در مرحله 7 بررسی کردیم وارد کنترل پنل شوید و پوشه htaccess را پیدا کنید. نام فایل را به htaccess_old تغییر دهید.
اکنون یک فایل htaccess. جدید در ویرایشگر متن ایجاد کنید و موارد زیر را در آن کپی کنید.
# BEGIN WordPress
RewriteEngine On
RewriteRule .* – [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index.php$ – [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPress
فایل htaccess. تازه ایجاد شده را آپلود کنید سپس سایت را دوباره بررسی کنید آیا ارور 500 رفع شده است در غیر اینصورت به مرحله بعدی بروید.
مرحله 9 : به دنبال خطاهای کدنویسی یا نحوی
با فعال کردن نمایش خطا در فایل php.ini میتوانید از خطای پیش آمده مطلع شوید کد دستوری زیر را به فایل php.ini اضافه کنید.
display_errors=on
مرحله 10 : تماس با میزبان سرور
اگر تا به اینجای کار موفق به رفع خطای 500 Internal Server Error نشدهاید و تمامی مراحل بالا با شکست مواجه شد، مشکلی در سرور وجود دارد که فقط میزبانی سرور میتواند آن را بررسی کند بهتر است با میزبان سرویس خود تماس بگیرید.