خطای 500 چیست؟
خطای 500 که به عنوان خطای سرور داخلی نیز شناخته می شود، یک کد وضعیت رایج HTTP است که نشان دهنده مشکل در سرور میزبان وب سایت است. هنگامی که یک کاربر با این خطا مواجه می شود، به این معنی است که سرور با شرایط غیرمنتظره ای مواجه شده است که مانع از انجام درخواست شده است. پیام خطا به خودی خود جزئیات خاصی را در مورد مشکل ارائه نمی دهد، بنابراین بررسی بیشتر برای شناسایی علت اصلی ضروری است.
علل خطای 500 وردپرس:
- تداخل پلاگین یا طرح زمینه: ناسازگاری بین افزونهها یا طرحهای زمینه میتواند منجر به خطای 500 شود. این میتواند زمانی رخ دهد که دو یا چند افزونه تلاش میکنند کارهای مشابهی را انجام دهند یا زمانی که یک طرح زمینه با موارد خاصی سازگار نیست. افزونه ها.
- فایل های خراب: اگر فایل های ضروری وردپرس به دلیل به روز رسانی ناقص یا مشکلات سرور خراب شوند، می تواند خطای 500 را ایجاد کند.
- محدودیت حافظه PHP تمام شده: اگر یک وب سایت وردپرس از محدودیت حافظه PHP تخصیص داده شده فراتر رود، می تواند منجر به خطای سرور داخلی شود.
- پرونده htaccess معیوب: مشکلات مربوط به فایل htaccess، مانند دستورات نادرست یا خطاهای نحوی، می تواند باعث خطای 500 شود.
- مشکلات مربوط به سرور: مشکلات مربوط به وب سرور، مانند تنظیمات نادرست سرور یا منابع ناکافی، می تواند منجر به این خطا شود.
نحوه رفع خطای 500 وردپرس:
در اینجا 37 نکته و روش برای کمک به عیب یابی و رفع خطای وردپرس 500 آورده شده است:
- بررسی تداخل افزونه ها: به طور موقت همه افزونه ها را غیرفعال کنید و بررسی کنید که آیا خطا ادامه دارد یا خیر. اگر نه، هر افزونه را یکی یکی مجدداً فعال کنید تا افزونه مشکل ساز ایجاد کننده خطا را شناسایی کنید.
- تغییر به یک موضوع پیشفرض: یک تم پیشفرض وردپرس (مثلاً بیست و بیست و یک) را فعال کنید تا مشخص کنید آیا مشکل مربوط به موضوع است.
- افزایش محدودیت حافظه PHP: فایل wp-config.php را ویرایش کنید و خط زیر را قبل از “همین است، ویرایش را متوقف کنید” اضافه کنید. خط نظر:
define('WP_MEMORY_LIMIT', '256M');
- غیرفعال کردن کش: اگر افزونههای کش یا حافظه پنهان سمت سرور را فعال کردهاید، حافظه پنهان را پاک کنید یا موقتاً کش را غیرفعال کنید تا ببینید آیا خطا را برطرف میکند.
- بررسی مجوزهای فایل: مطمئن شوید که مجوزهای فایل و فهرست به درستی تنظیم شده اند. دایرکتوری ها معمولاً باید دارای مجوز 755 باشند و فایل ها باید روی 644 تنظیم شوند.
- تغییر نام فایل .htaccess: نام فایل .htaccess را به چیزی شبیه به htaccess_old تغییر دهید. اگر این خطا را برطرف کرد، به تنظیمات -> پیوندهای دائمی در داشبورد وردپرس بروید و روی “ذخیره تغییرات” کلیک کنید تا یک فایل htaccess.
- افزایش زمان اجرای PHP: خط زیر را به فایل .htaccess یا فایل php.ini اضافه کنید:
php_value max_execution_time 300
- غیرفعال کردن پلاگین ها و تم های وردپرس از طریق FTP: با استفاده از FTP به وب سایت خود متصل شوید، به پوشه wp-content بروید و نام پوشه افزونه ها را به چیزی شبیه plugins_old تغییر دهید. به طور مشابه، نام پوشه تم فعال خود را در داخل wp-content/themes تغییر دهید. با این کار همه افزونهها غیرفعال میشوند و به یک موضوع پیشفرض تغییر میکنند.
- بررسی گزارشهای سرور: گزارشهای خطای سرور خود را برای هرگونه پیام خطای خاصی که میتواند به شناسایی علت خطا کمک کند، بررسی کنید.
- افزایش منابع سرور: اگر به تنظیمات سرور دسترسی دارید، منابعی مانند حافظه_limit، max_execution_time، یا max_input_vars را افزایش دهید.
- تعمیر فایلهای اصلی: با استفاده از SSH یا FTP، نسخههای جدیدی از فایلهای اصلی وردپرس (به استثنای پوشه wp-content) را از یک نصب تمیز وردپرس آپلود کنید.
- غیرفعال کردن کش کردن اشیا: اگر از افزونه ذخیرهسازی شی مانند Redis یا Memcached استفاده میکنید، آن را به طور موقت غیرفعال کنید تا بررسی کنید که آیا باعث ایجاد خطا شده است یا خیر.
- خطاهای نحوی را بررسی کنید: اگر اخیراً در قسمتهای کد موجود در functions.php یا سایر فایلهای طرح زمینه خود تغییراتی ایجاد کردهاید، آنها را برای هر گونه خطای نحوی بررسی کنید.
- غیرفعال کردن همه کدهای سفارشی: به طور موقت هر قطعه کد سفارشی را که ممکن است به فایل functions.php طرح زمینه خود یا از طریق یک افزونه سفارشی اضافه کرده باشید، غیرفعال کنید.
- نصب مجدد WordPress: از پایگاه داده خود نسخه پشتیبان تهیه کنید و با استفاده از آخرین نسخه وردپرس را مجددا نصب کنید.
- تماس با ارائه دهنده هاست: اگر هیچ یک از راه حل های بالا جواب نداد، با تیم پشتیبانی ارائه دهنده هاست خود تماس بگیرید و اطلاعات دقیقی در مورد خطا و مراحل عیب یابی که انجام داده اید در اختیار آنها قرار دهید.li>
- مشکلات پایگاه داده را بررسی کنید: از افزونه ای مانند WP-DBManager برای تعمیر و بهینه سازی پایگاه داده وردپرس خود استفاده کنید.
- فعال کردن حالت اشکال زدایی: فایل wp-config.php را ویرایش کنید و
define('WP_DEBUG', false);
را بهdefine('WP_DEBUG', true);
. هر گونه خطای PHP را که ممکن است باعث خطای 500 شود نمایش داده می شود. - بررسی خرابی فایلها: فایلهای اصلی وردپرس خود را با یک نصب جدید مقایسه کنید تا فایلهای خرابی که باید جایگزین شوند را شناسایی کنید.
- غیرفعال کردن XML-RPC: خط زیر را به فایل .htaccess خود اضافه کنید تا XML-RPC غیرفعال شود:
# غیرفعال کردن XML-RPC Order Deny، Allow Deny from all
- بازنشانی پیوندهای دائمی: به تنظیمات -> پیوندهای دائمی در داشبورد وردپرس بروید و بدون ایجاد هیچ تغییری روی «ذخیره تغییرات» کلیک کنید.
- غیرفعال کردن موقت افزونههای امنیتی: افزونههای امنیتی گاهی اوقات میتوانند در عملکرد عادی وبسایت اختلال ایجاد کنند. آنها را به طور موقت غیرفعال کنید و بررسی کنید که آیا خطا ادامه دارد یا خیر.
- برگرداندن تغییرات اخیر: اگر قبل از مواجهه با خطا، تغییرات اخیری مانند نصب/بهروزرسانی افزونهها یا طرحهای زمینه ایجاد کردهاید، آن تغییرات را بازگردانید.
- بررسی سازگاری نسخه PHP: مطمئن شوید که نصب وردپرس شما از نسخه PHP سازگار پیشنهاد شده توسط WordPress.org استفاده میکند.
- غیرفعال کردن CDN (شبکه تحویل محتوا): اگر از یک سرویس CDN استفاده میکنید، آن را موقتاً غیرفعال کنید تا بررسی کنید که آیا باعث ایجاد خطا شده است یا خیر.
- غیرفعال کردن SSL/HTTPS: به طور موقت به غیر SSL/HTTP برگردید و ببینید آیا خطا ناپدید میشود. اگر اینطور باشد، ممکن است مشکلی در گواهی یا پیکربندی SSL شما وجود داشته باشد.
- بررسی فایلهای تصویری بزرگ: فایلهای تصویری بزرگ میتوانند منابع سرور بیش از حد را مصرف کنند. بهینه سازی و تغییر اندازه تصاویر برای کاهش اندازه آنها.
- غیرفعال کردن اتصال سریع: با افزودن کد زیر به فایل htaccess. از پیوند مستقیم سایر وب سایت ها به محتوای سایت خود جلوگیری کنید:
ایجاد شود.
# Hotlinking تصاویر را غیرفعال کنید
RewriteEngine روشن است
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www.)?yourwebsite.com [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www.)?google.com [NC]
RewriteRule .(jpg|jpeg|png|gif)$ - [NC,F,L]
- حذف پلاگین ها و تم های استفاده نشده: هر افزونه و طرح زمینه غیر ضروری را از نصب وردپرس خود حذف کنید.
- جوااسکریپت متضاد را بررسی کنید: ویژگیهای فشردهسازی یا کوچکسازی جاوا اسکریپت را در افزونههای حافظه پنهان یا بهینهسازی غیرفعال کنید و بررسی کنید که آیا خطا ادامه دارد یا خیر.
- غیرفعال کردن WP-Cron: خط زیر را به فایل wp-config.php خود اضافه کنید تا WP-Cron را غیرفعال کنید:
define('DISABLE_WP_CRON'، true);
- غیرفعال کردن فایروال برنامه های کاربردی وب (WAF): سرویس های WAF را که استفاده می کنید موقتاً غیرفعال کنید، زیرا گاهی اوقات می توانند در عملکرد عادی وب سایت اختلال ایجاد کنند.
- بررسی خطاهای نحوی PHP: از ابزار بررسی نحو PHP استفاده کنید تا مطمئن شوید هیچ خطای نحوی در قالب یا فایلهای افزونه شما وجود ندارد.
- غیرفعال کردن mod_security: اگر به تنظیمات سرور دسترسی دارید، mod_security را به طور موقت غیرفعال کنید تا ببینید آیا خطا را برطرف می کند.
- حذف بدافزار یا کد مخرب: با استفاده از افزونههای امنیتی یا اسکنرهای آنلاین، وبسایت خود را برای بدافزار یا کد مخرب اسکن کنید و هرگونه تهدیدی را که پیدا شده است حذف کنید.
- بازیابی از پشتیبان گیری: اگر اخیراً از وب سایت خود نسخه پشتیبان تهیه کرده اید، آن را به نقطه ای قبل از وقوع خطا بازیابی کنید.
- مشاوره با کمک حرفهای: اگر خودتان نمیتوانید این خطا را برطرف کنید، یک توسعهدهنده حرفهای وردپرس را استخدام کنید یا برای کمک به انجمنهای پشتیبانی وردپرس مراجعه کنید.
این نکات عیب یابی به شما کمک می کند تا خطای 500 وردپرس را شناسایی و رفع کنید. به یاد داشته باشید که همیشه قبل از ایجاد هر گونه تغییر مهم در وب سایت خود از نسخه پشتیبان تهیه کنید.
3 انتشارات مرجع معتبر یا نام دامنه:
- WordPress.org: وب سایت رسمی پروژه منبع باز وردپرس، مستندات جامع، انجمن های پشتیبانی و منابعی را برای عیب یابی مشکلات مختلف وردپرس ارائه می دهد.
- WPBeginner.com: WPBeginner یک سایت منبع محبوب وردپرس است که آموزش ها، راهنماها و مقالات عیب یابی را برای مبتدیان و کاربران با تجربه ارائه می دهد.
- Kinsta.com: Kinsta یک ارائه دهنده میزبانی مدیریت شده وردپرس است که مقالات و راهنماهای عمیقی را در مورد موضوعات مختلف مرتبط با وردپرس از جمله عیب یابی خطاهای رایج مانند خطای 500 ارائه می دهد.
از این منابع برای جمع آوری اطلاعات دقیق و به روز در مورد خطای 500 وردپرس و روش های عیب یابی آن استفاده شد.