آموزش رفع مشکل خطای internal server 500 در وردپرس
خطای internal server 500 یکی از خطاهای رایج است که می توانید با وردپرس تجربه کنید و شامل دلایل بسیار زیادی است.
البته به این معنا نیست که این مساله قابل حل نباشد. توسط یکی از راه حلهای ذکر شده در این آموزش می توانید مشکل را یافته و برطرف نمایید.
چند دلیل رایج در رابطه با internal server 500 وجود دارد؛ داشتن کدهای مخرب در فایل htaccess، محدودیت حافظه پی اچ پی، پلاگین ها و افزونه ها، از جمله این دلایل می باشند.
متأسفانه هیچ راه حل دقیق جهت رفع مشکل وجود نداشته و رفع خطای internal server 500 نیاز به عیب یابی، زمان و صبر جهت برطرف سازی دارد.

تصویر(1)
خطای internal server 500 چیست؟
هنگام بازدید از یک سایت، مرورگر درخواست را به سرور سایت ارسال می کند. سرور درخواست را پردازش کرده و منابع را برای نمایش صفحه ارسال می کند.
کد وضعیت به مرورگر شما شرایط درخواست را اعلام می کند. به عنوان مثال، یک کد وضعیت 200 به معنای شرایط خوب است. اما اگر کد وضعیت 500 دریافت کنید، این بدان معنا است که مشکلی وجود دارد و سرور کاملا مطمئن نیست که منشا مشکل چیست.
اساسا، خطای internal server 500 به این معنی است که سرور با یک وضعیت غیر منتظره مواجه شد که از انجام آن خودداری کرد.
انواع مختلفی از خطای کد 500 وجود دارد که معنای هر کدام متفاوت است، مانند 501 Not Implemented، 502 Gateway، 503 Service Unavailable و 504 Gateway Timeout.
انواع خطای internal server 500
با توجه به سرورهای وب و مرورگرهای موجود انواع زیادی از خطای 500 وجود دارد،. وب سایتی که بازدید می کنید نیز ممکن است صفحه سفارشی خود را برای این خطاها داشته باشد.
لیست انواع مختلفی از پیغام خطا که ممکن است با آن مواجه شوید :
-
500 Internal Server Error
-
Internal Server Error
-
500 Internal server error
-
Error 500
-
HTTP Error 500
-
HTTP Error 500 – Internal Server Error
-
Temporary Error (500)
مهم نیست کدام یک از این پیغام ها را می بینید، همه آنها یک معنی دارند ؛ مشکلی وجود دارد و سرور نمی داند چه اتفاقی رخ داده است.
نحوه رفع internal server 500
با توجه به تغییراتی که نیاز است ایجاد نمایید توصیه می شود حتما قبل از انجام کار یک فایل بکاپ تهیه نمایید.
می توانید با ورود به کنترل پنل هاست خود اقدام به ایجاد فایل بکاپ نموده یا از شرکت میزبان هاست خود درخواست ارسال لینک فایل بکاپ را داشته باشید.
1. در مرحله اول فایل error-log را بررسی نموده و به خط آخر آن بروید. ممکن است دلیل پیغام خطا را مشاهده و بلافاصله مشکل را برطرف نمایید.
2. فایل .htaccess را بررسی نمایید.
دومین کاری که باید هنگام رفع 500 internal server در وردپرس انجام دهید بررسی فایل های مخرب در .htaccess است.
جهت تغییر نام فایل .htaccess به نامی مانند .htaccess_old انجام دهید.
جهت تغییر نام فایل .htaccess به مسیر File Manager و سپس Public_html بروید و روی فایل .htaccess کلیک راست کرده و از گزینه rename استفاده نمایید.
هنگامی که فایل htaccess را تغییر نام دادید، سپس سایت را مجددا بررسی نمایید تا ببینید آیا مشکل برطرف شده است یا خیر. اگر آن را انجام دادید و مشکل برطرف شد نیاز است مجددا نام فایل را به حالت پیش فرض بازگردانده و کدهای موجود در فایل را توسط یک برنامه نویس یا پشتیبان وردپرس بررسی نمایید تا کدهای مخرب شناسایی و حذف شود.
در صورتی که از WP Rocket استفاده می کنید بسیار مراقب باشید زیرا فایل htaccess شامل دستورات بهینه سازی اسکریپت است که نباید حذف شود.
3. محدودیت حافظه پی اچ پی را افزایش دهید
گاهی اوقات پیغام خطای internal server 500 ممکن است به دلیل محدودیت در حافظه پی اچ پی رخ دهد.
در صورتی که از هاست اشتراکی استفاده می کنید و اسکریپت شما به مموری بیش از میزان اختصاص داده شده در هاست اشتراکی نیاز داشته باشد، طبیعتا راه حل رفع مشکل انتقال به هاست پربازدید ، سرور مجازی یا سرور اختصاصی می باشد.
تصویر(2)
4. مشکل پلاگین یا یک تابع موجود در پلاگین
یکی از دلایل عمده خطای internal server 500 منسوخ شدن یا عدم کارکرد صحیح تعدادی از پلاگین ها است که در ابتدا باید با تغییر نام پوشه plugins همه پلاگین ها را غیر فعال کنید
در صورتی که مشکل برطرف شد مجددا نام پوشه plugins را به نام پیش فرض بازگردانی کرده و اقدام به تغییر نام تک به تک پلاگین های وردپرس نمایید. پس از هر تغییر نام، یک بار سایت را رفرش نموده و وضعیت سایت را بررسی نمایید.
همچنین این مورد می تواند به دلیل عدم سازگاری چند پلاگین خاص با یکدیگر باشد، که در این صورت باید نسبت به استفاده از چند پلاگین صرف نظر کرده یا از پلاگین های مشابه آن را استفاده نمایید.
5. دسترسی پوشه ها و فایل ها را بررسی نمایید
اگر سایر موارد انجام شده تا به اکنون مشکل را حل نکرد، مشکل می تواند به دلیل عدم دسترسی صحیح پوشه ها یا فایل ها باشد. سطح دسترسی پوشه ها باید روی 755 و فایل ها روی 644 تنظیم شوند و زمانی که آنها به اشتباه یا به دلایل دیگر روی سطح دسترسی دیگری تنظیم می شوند، امکان وقوع internal server 500 وجود دارد.
به صورت کلی در خصوص تنظیم سطح دسترسی پوشه ها و فایل به صورت زیر عمل کنید:
- تمام پوشه ها باید 755 باشند.
- تمام فایل ها باید 644 باشند (wp-config.php استثناء است که شما می توانید آن را روی 440 یا 400 تنظیم کنید تا از خواندن آن توسط دیگر کاربران در سرور جلوگیری شود.)
- دقت نمایید پوشه ها و فایل ها نباید هرگز روی 777 تنظیم شوند.
6. فایل های اصلی وردپرس را دوباره نصب کنید
این امر برای فایل های اصلی وردپرس پس از عملکرد غیر صحیح، به ویژه در سایت های قدیمی تر که چندین بار سفارشی و به روز شده اند، غیر معمول نیست.
برای رفع پیغام خطا، نیاز است فایل های هسته وردپرس خود را به فایل های جدید تغییر دهید. نیازی به نصب مجدد وردپرس نیست، آخرین نسخه وردپرس را دانلود کرده و فایل را باز کنید. وارد محیط سی پنل شده و سپس به File Manager و پوشه public_html بروید. پوشه های wp-admin و wp-includes را که از فایل zip استخراج نمودید آپلود کنید، با این کار پوشه های جدید جایگزین پوشه های قدیمی خواهد شد.
در حقیقت با انجام این کار، پلاگین ها و تم های سایت را بازنویسی نخواهید کرد.
سایت خود را رفرش کنید اگر خطای internal server 500 مشاهده نشد به این معنا است که شما فایلهای سالم را جایگزین فایل های مخرب نمودید.