خطای ۵۰۰
خطا های ۵۰۰ سرور داخلی در وردپرس هم برای کاربران و هم توسعه دهندگان آزاردهنده هستند زیرا هیچ اطلاعاتی در مورد دلیل مشکل ارائه نمی دهند. دقیق مثل این میماند که نزد دکتر رفتید و گفتید که احساس درد میکنید، اما از بیان دلیل این درد خودداری میکنید. مسلما درمان آن برای پزشک بسیار سخت میشود! این مشکل در خطای سرور داخلی وردپرس وجود دارد و هیچ نشانه ای از اینکه مشکل از کجا آمده است وجود ندارد.
خطای ۵۰۰ به این شکل نمایش داده میشود :
برای اینکه بفهمید چه اتفاقی افتاده، باید کمی عیب یابی و آزمون و خطا انجام دهید. یکی یکی روش های زیر را امتحان کنید.
آموزش رفع خطای ۵۰۰ در وردپرس
توجه: حتما قبل از شروع تغییرات، از فایل های سایت خود نسخه پشتیبان تهیه کنید.
1- فعال کردن اشکال زدایی (DEBUGGING)
اولین قدم باید این باشد که حداقل سعی کنید خطا را درک کنید. بسته به اینکه سرور شما چگونه خطاها را مدیریت می کند، آنچه بعنوان خطای ۵۰۰ میبینید ممکن است به هیچ وجه یک خطای سرور نباشد. در عوض، ممکن است یک خطا در کد سایت شما باشد (معمولا کد یک افزونه یا …).
برای مشاهده اینکه آیا اینگونه است یا خیر، باید فایل wp-config.php را در دایرکتوری root وب سایت خود ویرایش کنید:
1- ایتدا از طریق یک نرم افزار FTP فایل wp-config.php سایت خود را دانلود کنید.
2- باید ادیتور متن آن را باز کنید.
3- عبارت WP_DEBUG را در آن سرچ کنید.
اگر خط از قبل وجود دارد، false را به true تغییر دهید و فایل را دوباره در سرور آپلود کنید.
اما اگر این خط در فایل کانفیگ شما نیست، آن را با افزودن خط کد زیر در جایی بالای خط کامنت /* That's all, stop editing! Happy blogging. */
اضافه کنید و فایل را در جای خود در سرور آپلود کنید:
define( "WP_DEBUG", true );
وب سایت خود را رفرش کنید و ببینید آیا خطا تغییر می کند یا خیر. اگر اینطور است، و اکنون یک پیام “Fatal error” را می بینید که به یک خط کد خاص در یک فایل خاص اشاره می کند، پس یک خطای کد نسبتا ساده دارید. با فرض اینکه خطای گفته شده از یک پلاگین یا بخشی از کدها نشاءت می گیرد، باید آن را غیرفعال کنید و یا خودتان روی رفع مشکل کار کنید.
توجه: پس از اتمام این مرحله، مطمئن شوید که مقدار WP_DEBUG را به false برگردانید.
2- بررسی کنید که آیا داشبورد وردپرس شما کار می کند یا خیر
مرحله بعدی این است که آزمایش کنید آیا می توانید به داشبورد وردپرس خود دسترسی داشته باشید یا خیر.
به پنل وردپرس خود به آدرس http://yoursite.com/wp-admin/ لاگین کنید. اگر این صفحه به درستی بارگیری می شود و به شما امکان می دهد وارد شوید، می توانید مطمئن باشید که مشکل از یک افزونه یا تم شما است. در صورتی صفحه ادمین شما بارگیری شد.
3- غیرفعال کردن همه پلاگین ها
در مرحله بعد، وقت آن است که آزمایش کنید آیا مشکل از یک افزونه است یا خیر. تقریباً هیچ راهی وجود ندارد که یک پلاگین در صورت غیرفعال شدن مشکلی ایجاد کند، بنابراین ساده ترین راه برای آزمایش این است که همه افزونه های خود را به طور همزمان غیرفعال کنید. این کار افزونههای شما را حذف نمیکند و باعث نمیشود هیچ یک از اطلاعاتتان را از دست بدهید. کاری که انجام می دهد این است که کد آنها را غیرفعال می کند، که اگر کد افزونه باعث ایجاد خطای سرور ۵۰۰ شود، مشکل را برطرف می کند.
اگر داشبورد وردپرس شما به درستی کار میکند، میتوانید با دنبال کردن این مراحل افزونهها را غیرفعال کنید:
- به قسمت Plugins در داشبورد وردپرس خود بروید.
- تیک انتخاب همه افزونه ها را بزنید.
- از منوی کشویی گزینه غیر فعال کردن را انتخاب کنید و روی اجرا کلیک کنید.
اگر به دلایلی نمیتوانید افزونهها را از طریق داشبورد خود غیرفعال کنید، میتوانید با دنبال کردن این دستورالعملها را از طریق FTP نیز غیرفعال کنید:
- از طریق FTP به سرور سایت وردپرس خود متصل شوید.
- به پوشه wp-content بروید.
- نام پوشه plugins را به plugins-deactivated تغییر نام دهید.
اگر همه افزونههای خود را غیرفعال کردهاید و سایت شما هنوز بارگیری نمیشود، به مرحله ۴ بروید.
اگر سایت شما راهاندازی شد و خطای ۵۰۰ را نمیبینید، قدم بعدی این است که بفهمید کدام افزونه باعث ایجاد مشکل میشود.
برای انجام این کار، باید پلاگین های خود را یک به یک دوباره فعال کنید تا بفهمید مشکل از کدام افزونه است.
توجه: اگر افزونههای خود را از طریق FTP غیرفعال کردهاید، قبل از شروع فعالسازی مجدد افزونهها، باید نام پوشه را به نام اصلی افزونهها تغییر دهید.
4- سوییچ کردن به تم پیشفرض
اگر غیرفعال کردن افزونه های شما مشکل را حل نکرد، مشکل شما نیز می تواند تم باشد. می توانید این کار را با تغییر به یک تم پیش فرض وردپرس انجام دهید. توصیه می کنیم از Twenty Twenty استفاده کنید که آخرین تم پیش فرض است.
اگر همچنان قادر به مدیریت تم ها از داشبورد وردپرس خود هستید، می توانید این کار را با رفتن به Appearance -> Themes انجام دهید. اگر قبلاً تم پیشفرض را حذف کردهاید، میتوانید آن را مجدداً از WordPress.org نصب کنید.
درصورتی که نمی توانید تم ها را از داشبورد وردپرس خود تغییر دهید، می توانید این کار را از طریق FTP نیز با دنبال کردن این دستورالعمل ها انجام دهید:
- از طریق FTP به سرور سایت وردپرس خود متصل شوید.
- به پوشه wp-content/themes بروید.
- اگر تم Twenty Twenty را نصب نکردهاید، میتوانید با آپلود پوشه تمی که از WordPress.org دانلود میکنید، آن را نصب کنید (حتماً قبل از آپلود پوشه، فایل ZIP را استخراج کنید).
- نام پوشه تم فعلی خود را به [theme-name]-deactivated تغییر دهید.
هنگامی که نام پوشه تم فعال خود را تغییر می دهید، وردپرس به طور خودکار به تم پیش فرض باز می گردد (اگر که تم پیش فرض نصب شده باشد).
اگر تغییر به تم پیشفرض خطای ۵۰۰ را حل کرد، میتوانید همه افزونهها را دوباره فعال کنید و برای یافتن مشکل در کد تم خود دست به کار شوید.
5- افزایش محدودیت حافظه
اگر وبسایت شما از حافظه بیش از حد استفاده میکند، احتمالاً منجر به خطای ۵۰۰ سرور داخلی میشود. در بسیاری از موارد، این نشانه یک تم یا افزونه خراب است. با افزایش محدودیت حافظه به سرعت می توان آن را برطرف کرد، اما این یک راه مطمئن برای حل مشکل نیست و به ریشه آن نمی رسد.
می توانید به صورت دستی محدودیت حافظه خود را افزایش دهید. با این حال، به خاطر داشته باشید که سرور یا حساب شما ممکن است مقدار مشخصی از حافظه را به آن اختصاص دهد و شما نتوانید محدودیت حافظه خود را فراتر از آن افزایش دهید.
ایجاد تغییرات در فایل wp-config.php
قطعه کد زیر را بالای خط /* That’s all, stop editing! Happy blogging. */ اضافه کنید:
define('WP_MEMORY_LIMIT', '256M');
6- دیباگ کردن htaccess.
اگر هاست شما از سرور آپاچی استفاده می کند، فایل htaccess. یک فایل پیکربندی است که برخی از عملکردهای نسبتاً پیشرفته را فعال می کند. با استفاده از آن، می توانید فشرده سازی gzip را فعال کنید، حداکثر اندازه آپلود را تغییر دهید، تغییر مسیرها را تنظیم کنید، و انواع کارهای مفید دیگر را انجام دهید. وردپرس همچنین از این فایل برای مدیریت لینک های ثابت سایت شما و سایر ویژگی ها استفاده می کند.
شایان ذکر است که این یک مرحله حساس است و نیاز به احتیاط دارد. به عنوان مثال، یک اشتباه تایپی، یک فضای خالی اضافی یا نگذاشتن یک سمی کالن، به راحتی می تواند یک خطای ۵۰۰ سرور داخلی ایجاد کند و وب سایت شما را متوقف کند.
یک راه ساده برای بررسی وجود خطا در این فایل وجود دارد:
- از طریق FTP به سرور خود متصل شوید و فایل .htaccess را که در پوشه root قرار دارد پیدا کنید.
- از فایل موجود با دانلود کردن آن در رایانه خود نسخه پشتیبان تهیه کنید.
- هنگامی که از فایل اصلی نسخه پشتیبان تهیه کردید، کپی htaccess. را که روی سرور شما است حذف کنید.
اگر وب سایت شما بدون مشکل دوباره آنلاین شد، مشکل از فایل htaccess. شماست. اگر قوانین htaccess. سفارشی ندارید (مثلاً تغییر مسیرهای سفارشی)، می توانید وردپرس را مجبور کنید که یک فایل .htaccess جدید را با رفتن به Settings -> Permalinks و کلیک کردن روی Save ایجاد کنید.
اگر قوانین سفارشی دارید، می توانید فایل htaccess. را خط به خط بخوانید تا ببینید چه زمانی سایت شما خراب می شود. وقتی خط مشکل ساز را پیدا کردید، مطمئن شوید که اشتباه سیننکسی در آن وجود ندارد. اگر خطا را نتوانستید پیدا کنید، به هیچ وجه به حذف خط ها اقدام نکنید. زیرا ممکن است کل سایتتان از کار بیفتد.
7- نصب مجدد وردپرس
این حالت بسیار نادر است، اما ممکن است تعدادی فایل خراب در هسته وردپرس داشته باشید. برای مثال زمانی که سرور شما فایل های مورد نیاز را کپی می کرد ممکن است مشکلی پیش آمده باشد. آپلود مجدد فایل های هسته وردپرس ممکن است مشکل شما را حل کند.
نحوه نصب مجدد فایل های اصلی وردپرس :
- یک نسخه جدید از وردپرس را از WordPress.org دانلود کنید.
- فایل ZIP را استخراج کنید.
- فولدر wp-content و فایل wp-config-sample.php را حذف کنید. همچنین، مطمئن شوید که فایل wp-config.php وجود ندارد (و در صورت وجود آن را حذف کنید).
- از طریق FTP به سرور خود متصل شوید.
- فایل ها و پوشه های باقیمانده را در پوشه root آپلود کنید.
- وقتی برنامه FTP از شما سوال پرسید، به آن اجازه دهید که همه فایل ها را بازنویسی کند.
جمع بندی
به دلیل مبهم بودن پیام خطای ۵۰۰ سرور داخلی، حل آن می تواند دشوار باشد، اما، با دنبال کردن مراحل بالا، باید بتوانید در نهایت متوجه شوید که مشکل از کجاست.