امتیاز post

ارور 500 در سایت وردپرس به نظر می رسد که همیشه در نامناسب ترین زمان اتفاق می افتد. خطاهای دیگری که رفتار مشابهی دارند مثل خطای اتصال پایگاه داده و صفحه مرگ وردپرس است ممکن است دیده باشید. اما از لحظه خراب شدن سایت، شما بازدید کننده و مشتری خود را از دست می دهید.

امروز ما قصد داریم به خطای سرور 500 بپردازیم و راهنمای رفع خطای 500 آن را می توانید در زیر بخوانید.

دلایل ارور 500 در سایت وردپرس

خطای داخلی سرور 500 در وردپرس می تواند ناشی از موارد زیادی باشد.

  • حافظه پنهان مرورگر.
  • اطلاعات اشتباه اتصال به پایگاه داده
  • خراب بودن پایگاه داده
  • فایل های خراب در زمان نصب وردپرس
  • مشکلات مربوط به سرور پایگاه داده
  • فایل های خراب وردپرس
  • خطای فایل htaccess. و محدودیت حافظه در PHP
  • مشکلات مربوط به افزونه ها و قالب ها
  • خطای تایم اوت PHP و خطاهای fatal error مربوط به افزونه ها
  • مجوزهای اشتباه فایل ها و پوشه های وردپرس
  • فایل خراب .htaccess
  • خطاهای موجود در اسکریپت CGI و Perl.

خطای داخلی سرور 500 چیست

هنگام بازدید از یک سایت ، مرورگر شما درخواست را به سرور محل میزبانی سایت ارسال می کند. سرور این درخواست را می گیرد ، پردازش می کند و منابع درخواستی (PHP ، HTML ، CSS و غیره) را به همراه یک هدر HTTP بر می گرداند. کد وضعیت HTTP راهی برای اطلاع رسانی در مورد وضعیت درخواست به سرور است. این کد می تواند 200 باشد که به معنی “همه چیز خوب است” یا 500 که به معنی چیزی اشتباه است.

انواع مختلفی از خطای 500 (500 ، 501 ، 502 ، 503 ، 504 و غیره) وجود دارد و معنی همه آنها متفاوت است. در این حالت، یک خطای سرور داخلی  500 نشان می دهد که سرور با شرایط غیرمنتظره ای روبرو شده است که مانع انجام درخواست می شود ( RFC 7231 ، بخش 6.6.1).

انواع خطای 500 که در مرورگر ممکن است مشاهده کنید

با توجه به وب سرورهای مختلف ، سیستم عامل ها و مرورگرها ، یک خطای 500 سرور داخلی می تواند به روش های مختلفی خود را نشان دهد. در زیر فقط چند مورد مختلف وجود دارد که ممکن است در وب مشاهده کنید:

  • “500 Internal Server Error” (خطای داخلی سرور 500)
  • “HTTP 500” (خطای HTTP 500)
  • “Internal Server Error” (خطای داخلی سرور)
  • “HTTP 500 – Internal Server Error”
  • “500 Error”
  • “HTTP Error 500”
  • “500 – Internal Server Error”
  • “500 Internal Server Error. Sorry something went wrong.” (خطای داخلی سرور. متاسفانه چیزی اشتباه است)
  • “500. That’s an error. There was an error. Please try again later. That’s all we know.” (“500 (چیزی اشتباه است. یک خطا وجود دارد. لطفاً بعداً دوباره امتحان کنید. این تمام چیزیست که ما میدانیم.”)
  • “The website cannot display the page – HTTP 500.”
  • “Is currently unable to handle this request. HTTP ERROR 500.”

در برخی موارد ممکن است با صفحه خالی روبرو شوید.

ارور 500 در سایت وردپرس

البته می توانید صفحات خطای 500 اختصاصی ایجادکنید.

تاثیر خطای 500 در سئو

برخلاف خطای 503 ، که برای حالت تعمیر و نگهداری وردپرس استفاده می شوند و به گوگل می گویند که بعداً دوباره صفحه را بررسی کند ، اگر خطای 500 بلافاصله برطرف نشود، می تواند تأثیر منفی روی سئو داشته باشد. اگر سایت شما فقط برای مدت 10 دقیقه خراب باشد معمولا گوگل نسخه ذخیره شده را crawl می کند.

اما اگر سایت برای مدت زمان طولانی ، مثلاً بیش از 6 ساعت ، خراب باشد ، ممکن است گوگل خطای 500 را به عنوان یک مسئله در سطح سایت ببیند که باید برطرف شود. این می تواند در رتبه بندی شما تأثیر بگذارد. اگر نگران تکرار 500 خطا هستید ، باید بفهمید که چرا از ابتدا این اشتباهات رخ می دهد. برخی از راه حل های زیر می تواند کمک کند.

رفع خطای 500 | رفع خطای http error 500

با مشاهده ارور 500 در سایت وردپرس، از کجا باید عیب یابی را شروع کنید؟ گاهی ممکن است شما حتی ندانید که از کجا شروع کنید. به طور معمول این خطا روی خود سرور است ، اما با تجربه ما ، این خطاها از دو چیز سرچشمه می گیرند ، اول خطای کاربر (مسئله سمت کاربر) ، و دوم اینکه مشکلی در سرور وجود دارد.

علل متداول و راه های رفع خطای 500 در زیر فهرست شده اند:

1. بارگیری مجدد صفحه را امتحان کنید

این ممکن است برای بعضی ها کمی بدیهی به نظر برسد، اما یکی از ساده ترین و اولین چیزهایی که باید هنگام مواجهه با خطای 500 internal server امتحان کنید این است که یک دقیقه یا همین حدود صبر کنید و صفحه را دوباره بارگیری کنید (F5 یا Ctrl + F5). ممکن است میزبان یا سرور over load شده باشد و دوباره به حالت قبلی برگردد. در این فاصله، می توانید یک مرورگر دیگر را امتحان کنید.

کار دیگری که می توانید انجام دهید این است که سایت  موردنظر را در downforeveryoneorjustme.com بررسی کنید . این سایت به شما اطلاع می دهد که سایت مشکل دارد یا مشکلی از طرف دستگاه شما است. ابزارهایی مانند این ابزار، کد وضعیت HTTP را که از سرور برگردانده شده را بررسی می کند. اگر کدوضعیت برگردانده شده هرچیزی غیر از 200 باشد نتیجه down بودن سایت را بر می گرداند.

البته ممکن است این خطا بعد از به روزرسانی یا نصب افزونه یا قالب جدید در سایت رخ دهد. معمولاً این مورد روی هاست هایی که به درستی تنظیم نشده است، رخ می دهد . در فرایند نصب و بروزرسانی زمان رخ دادن این خطا، چند ثانیه ای سایت down است و پس از لحظاتی ممکن است درست شود.

2. کش مرورگر را خالی کنید.

همیشه یکی از راه حل های رفع خطاها، خالی کردن کش مرورگر است. در مقاله خالی کردن کش مرورگر، روش پاک کردن کش تمام مرورگرها با تصویر توضیح داده شده است.

3. گزارش های LOG سرور را بررسی کنید

می توانید با افزودن کد زیر به پرونده wp-config.php ، حالت اشکال زدایی وردپرس را فعال کنید تا log سایت را فعال کنید:

define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );

از این به بعد در پوشه wp-content  گزارش خطاها قرار داده می شود.

همچنین می توانید فایلهای گزارشات خطاها را در Apache و Nginx بررسی کنید ، که معمولاً در این مسیر قرار دارند:

Apache: /var/log/apache2/error.log

Nginx: /var/log/nginx/error.log

اگر خطای 500 به دلیل یک خطای FATAL ERROR بوجود آمده است ، می توانید گزارش خطای PHP را نیز فعال کنید. به سادگی کد زیر را به فایل wp-config.php اضافه کنید.

ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);

ممکن است لازم باشد کد زیر را در فایل php.ini اضافه کنید:

display_errors = on

چند نکته:

  • می توانید قسمت دوم یعنی نمایش خطا را فعال نکنید، چون قسمت اول کدها که در wp-config.php وارد کردید کافی است و تمام خطاها در فایل ذخیره می شود
  • درنظر داشته باشید بدلایل امنیتی بعد از حل مشکل این قسمت ها را از فایل wp-config.php حذف کنید.

4. خطا در ایجاد اتصال پایگاه داده

خطای 500 می تواند از طریق خطای اتصال پایگاه داده نیز رخ دهد . بسته به مرورگر، ممکن است خطاهای مختلفی مشاهده کنید. اما بدون قراردادن این خطا در فایل گزارش خطاها، خطای 500  تولید می شود .

حطای پایگاه داده در وردپرس

در زیر مثالی از پیام “خطا در ایجاد اتصال پایگاه داده” (“error establishing a database connection”) را مشاهده می کنید. کل صفحه خالی است زیرا هیچ داده ای برای ارائه در صفحه نیست ، زیرا اتصال به پایگاه داده به درستی کار نمی کند. این امر نه تنها باعث عدم نمایش خود سایت می شود ، بلکه از دسترسی شما به داشبورد وردپرس نیز جلوگیری می کند.

چرا این اتفاق می افتد؟

  • رایج ترین مسئله این است که اطلاعات اتصال به پایگاه داده نادرست است . سایت وردپرسی شما برای اتصال به پایگاه داده MySQL از اطلاعات موجود در wp-config.php استفاده می کند. این اطلاعات را بررسی کنید.
  • پایگاه داده وردپرس شما خراب است. با وجود بسیاری از نصب و حذف پوسته ها، پلاگین ها و کاربران به طور مداوم، گاهی اوقات پایگاه های داده خراب می شوند. این می تواند به دلیل گم شدن یا خراب شدن یک جدول خراب باشد، یا شاید برخی از اطلاعات به طور تصادفی حذف شده باشد.
  • ممکن است  فایلهای اصلی خود ودپرس خراب شده باشد . این مورد حتی گاهی اوقات یکی از نشانه های هک شدن سایت است. (در اینصورت از خدمات امنیتی سایت ما هم می توانید استفاده کنید)
  • ممکن است مشکل مربوط به خود سرور پایگاه داده هاست باشد. مثلا پایگاه داده ترافیک بیش از حد از ترافیک داشته باشد یا از طریق چندین اتصال همزمان، پاسخ نمی دهد. البته این مورد در هاست های اشتراکی با تعداد زیاد هاست در یک سرور و کمبود منابع معمول است زیرا آنها از منابع یکسان برای بسیاری از کاربران در همان سرورها استفاده می کنند.

5. افزونه و پوسته ها را بررسی کنید

افزونه ها و پوسته ها می توانند به راحتی باعث خطای internal server error 500 شوند. در بسیاری از مواقع باید بلافاصله پس از نصب مورد جدید یا اجرای به روزرسانی گزارش خطاها را مشاهده کنید.

یکی از روش برای عیب یابی، غیرفعال کردن تک تک افزونه ها است.

  1. تک تک افزونه ها را غیرفعال کنید.
    • اگر دسترسی به پیشخوان وردپرس دارید، از قسمت افزونه ها، بصورت جداگانه هر بار یک افزونه را غیرفعال کنید.

غیرفعال کردن افزونه ها برای رفع خطای 500 در وردپرس

    • اگر به پیشخوان وردپرس دسترسی ندارید، از طریق هاست، وارد پوشه plugins (که در پوشه wp-content وجود دارد) شوید و پوشه افزونه را تک تک به نام دیگری تغییرنام دهید.

غیرفعال کردن افزونه ها برای رفع خطای 500 در وردپرس

  1. بعد از هر غیرفعال سازی، سایت را بررسی کنید، البته بهتراست از ctrl+f5 استفاده کنید تا کش هم خالی شود. اگر خطای 500 نمایش داده نشد، بنابراین مشکل از افزونه موردنظر است که آن را غیرفعال کرده اید، اگر مشکل هنوز برقرار است مرحله اول را دوباره تکرار کنید.

نکته: همیشه از بروز بودن افزونه ها ، پوسته و خود وردپرس اطمینان حاصل کنید. و بررسی کنید که آیا افزونه ها، پوسته و وردپرس، از  نسخه PHP موجود پشتیبانی می کنند.

6. نصب دوباره وردپرس

بعضی اوقات ، به خصوص در سایت های قدیمی ، ممکن است مشکل بخاطر خراب شدن فایلهای اصلی وردپرس باشد. این کار خیلی ساده است و با این کار آسیبی به سایت زده نمی شود اگر درست انجام شود.

حذف و نصب وردپرس بدون از پاک شدن اطلاعات

7. خطاهای مربوط به مجوزها

خطای مجوز مربوط به قایل یا پوشه در سرور می تواند باعث بروز خطای 500 شود. در اینجا چند توصیه معمول برای مجوزهای پرونده و پوشه در وردپرس آورده شده است:

  • مجوز همه فابل ها باید 644 (-rw-r – r–) یا 640 باشند.
  • مجوز همه پوشه ها باید 755 (drwxr-xr-x) یا 750 باشند.
  • به هیچ مجوز پوشه ها هرگز نباید 777 ، حتی دایرکتوری uploads
  • مجور فایل wp-config.php می تواند روی 440 یا 400 تنظیم شود تا از خواندن فایل توسط سایر کاربران در سرور جلوگیری کند.

برای تغییر مجوزها در Cpanel، کافی است روی پوشه یا فایل های موردنظر کلیک راست گزینه Permission را انتخاب کنید و براساس موارد فوق، محوزها را تعیین کنید.

سطح دسترسی با مجوز پوشه ها و فایل ها در وردپرس

این نوشته به روزخواهدشد.

دریافت مقالات مربوط به خطاهای وردپرس
اشتراک در خبرنامه