wordpress

رفع ارور خطا 504 در وردپرس، علت و آشنایی با آن

خطای 504 در وردپرس و نحوه رفع ارور

رفع ارور خطا 504، خطاهای عجب و غریبی که گاه و بی گاه در سایت رخ می‌دهند ما را دچار سردرگمی کرده و باعث می‌شوند از برنامه‌های خود عقب بیفتیم. یکی دیگر از این خطاها بروز ارور 504 Gateway Timeout است که سبب می‌شود سایتی که باز می‌کنیم باز نشده و برای مدتی در دسترس نباشد. این خطا هم در گروه خطاهای وضعیت HTTP قرار دارد که مربوط به سمت سرور(همان خطاهای گروه 5XX) است.

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

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

ارور 504 Gateway Timeout چیست؟

تنظیماتی که در سرور وجود دارند دارای یک کد وضعیت HTTP هستند تا خطاهایی که در سایت رخ می‌دهد را از این طریق برای مرورگرها مشخص کنند. اما این وضعیت‌ها دقیقا قادر به مشخص کردن این نیستند که علت خطا به کجا برمی‌گردد؛ شما صرفا می‌توانید با نوع خطا آشنا شده و در ادامه برای برطرف کردن خطا، با توجه به دلایلی که باعث ایجاد چنین اروری می‌شود راهکارهای موجود را یکی یکی تست کنید.

خطای 504 در وردپرس هم یکی از این کدهای اعلام وضعیت HTTP است. به این معنی که هنگام تلاش برای بارگذاری صفحه یا انجام درخواست بازدیدکننده، پاسخ به موقعی از سوی سرور صادر نشده و صفحه 504 Gateway Timeout به شما نمایش داده می‌شود. به زبان ساده‌تر ارتباط مناسبی میان مرورگر و سرور برقرار نمی‌شود و فاصله زمانی میان درخواست مرورگر و پاسخ سرور بیش از حد معمول طولانی بوده است.خطای 504 در وردپرس و نحوه رفع ارور

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

نمایش خطای 504 در وردپرس چگونه است؟

با اینکه امکان دارد برخی از سایت‌ها، صفحه سفارشی برای ارور 504 Gateway Timeout ساخته باشند اما بسته به نوع مرورگر، سیستم عامل و سرورهای به کار گرفته شده، شیوه‌های مختلفی برای نمایش خطای 504 وجود دارد که به یکی از اشکال زیر هستند.

  • 504 Gateway Timeout
  • HTTP 504
  • 504 ERROR
  • (Gateway Timeout (504
  • HTTP Error 504 – Gateway Timeout
  • Gateway Timeout Error

خطای 504 Gateway Timeout در پنجره مرورگر دقیقا مانند صفحات عادی نشان داده می‌شود. ممکن است مانند یک صفحه سفید بزرگ با یک جمله انگلیسی نشان داده شده یا اینکه عبارات بیشتری در آن استفاده شده باشد. فارغ از ظاهر خطای 504 وردپرس، تمام شیوه‌های نمایش مفهوم یکسانی دارند؛ یعنی در آنها حداقل عدد 504 یا Gateway Timeout استفاده می‌شود.

بعد اول: خطای 504 Gateway Timeout سمت کاربر

همانطور که گفتم رایج‌ترین حالتی که برای بروز خطای 504 در وردپرس وجود دارد، سمت کاربر است. شما مدیریت سایت را بر عهده ندارید، با اینکه دیگران در دسترسی به سایت یا اپلیکیشن مشکلی ندارند، اما برای شما ارور Gateway Timeout نمایش داده شده و دسترسی به سایت مورد نظر ندارید.

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

اول: رفرش کنید

صفحه مرورگر خود را رفرش نمایید. می‌توانید از کلید F5 بدین منظور استفاده کنید یا دوباره روی URL درخواستی خود کلید کرده و دکمه‌ی Enter را فشار دهید. خطای 504 Gateway Timeout در چنین حالتی موقتی است و اختلات در سرعت اینترنت باعث آن می‌شود.

این احتمال هم وجود دارد که خطا چون از قبل در سایت رخ داده، به صورت کش شده در سیستم شما وجود داشته باشد. بنابراین از کلیدهای ترکیبی CTRL + F5 یا CTRL + R نیز استفاده کنید تا ضمن رفرش شدن، کش نیز پاک نشود. برای اطمینان بیشتر از این مسئله توصیه می‌کنم حتی شده کش مرورگر خود را نیز پاک کرده یا از مرورگر دیگری استفاده کنید.

دوم: روشن و خاموش کنید

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

  • خاموش و روشن کردن مودم یا اتصال اینترنت همراه
  • ری‌استارت کردن کامپیوتر یا گوشی موبایل

سوم: VPN خود را بررسی یا خاموش کنید

اگر خاطرتان باشد گفتم که بیشترین دلیل این خطا مربوط به اتصالات یا پایین بودن میزان منابع در اختیار سرور یا سخت‌افزارهای شبکه است. گاهی اوقات استفاده از VPN هم باعث می‌شود تا چنین مشکلاتی رخ داده و چون مدت زمان اتصال به سرور محدود شده، با رسیدن به حد نصاب time out در PHP این وضعیت خطا نمایش داده شود.

بنابراین تنظیمات سرور پروکسی را در مرورگر خود ارزیابی نمایید و از صحت آنها اطمینان حاصل نمایید. تنظیمات نادرست مربوط به پروکسی منجر به ارور 504 می‌شود. اگر به این کار تسلط کافی ندارید، به راحتی VPN را خاموش کرده و صفحه را رفرش کنید.

چهارم: تنظیمات DNS اینترنت مودم را تغییر دهید

همه ما از مشکلات و تغییراتی که در DNS کشورمان وجود دارد اطلاع داریم. مجبوریم از DNS سایت‌هایی مثل گوگل یا شبکه کلودفلر استفاده کنیم که تا جای ممکن از برخی مشکلات جلوگیری کنیم. اما گاهی همین DNS دچار مشکل شده و باعث بروز خطای 504 Gateway Timeout می‌شود.

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

پنجم: با پشتیبان شرکت ISP خود تماس بگیرید

اگر با وجود اقدامات بالا مشکلات هنوز پابرجاست، لطفا با ارائه دهنده خدمات اینترنت خانگی خود تماس بگیرید. پس از طی روند عیب‌یابی فوق، احتمالا مشکل خطای 504 Gateway Timeout ناشی از مسئله ISP مربوط به اینترنت شماست. این روند را به آنها سپرده تا سریع‌تر مشکلتان حل شود.

بعد دوم: رفع خطای Gateway Timeout 504 سمت سایت

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

اول: فایروال سایت خود را خاموش کنید

یکی از علل بروز ارور 504 در وردپرس یا هر سایت ساز دیگری، استفاده از افزونه‌ها و ماژول‌های ایجاد کننده فایروال سایت است. در این مرحله فایروال خود را به صورت موقت غیرفعال نموده و دوباره امتحان کنید. اگر مشکل رفع شده، تبریک ما را بپزیرید. شما توانستید مشکل موجود را رفع نمایید!

البته که استفاده از فایروال صرفا مربوط به سیستم سایت ساز نیست و در حالتی که از شبکه توزیع محتوا CDN مانند کلودفلر یا ابرآروان استفاده کنید یا در حالتی که این تنظیمات روی هاست یا سرور سایت شما اعمال شده باشد نیز وجود دارد.

دوم: ترافیک سایت خود را بررسی کنید

یکی از دلایلی که باعث ایجاد وقفه در اتصال به سرور می‌شود، ترافیک بالای سایت است. البته انتظار داریم که این خطا را به صورت ارور 503 ببینیم، اما چون مدت زمان PHP در اینجا روی مقدار محدودی قرار دارد، در حالتی که از این مدت زمان محدود گذر کرده و سایت لود نشود ارور با وضعیت 504 نمایش داده می‌شود.

بنابراین از آمارگیر سایت خود کمک گرفته و تعداد افراد آنلاین در سایت را بررسی کنید. به این نکته هم توجه کنید که ممکن است سایت شما تحت حملات DDoS و بروت فورس قرار داشته باشد. پس حتما میزان مصرف منابع CPU و رم را در هاست نیز بررسی کرده یا اینکه از ابزارهایی مثل کلودفلر که مشخص می‌کنند سایت شما تحت حمله است کمک بگیرید.

سوم: مقدار حافظه PHP را افزایش دهید

تا اینجا گفتیم که علت خطای 504 Gateway Timeout کمبود منابع، خصوصا منابع مربوط به حافظه php است. در ادامه هم برای رفع موقتی مشکل راهکار این است که یا برخی افزونه‌ها را غیرفعال کنید یا اینکه اگر مشکل از قالب سایت است، از قالب دیگری استفاده کنید تا پس از یافتن علت و رفع آن، مجددا به قالب قبلی برگردید.

اما ضرورتی ندارد که کارهای فوق را انجام دهید. در صورتی که دسترسی لازم به هاست فراهم باشد می‌توانید با اضافه کردن یک سری کد به روش‌های مختلف مقدار منابع مورد نیاز برای حافظه php را افزایش دهید. برای این منظور یکی از روش‌های زیر را تست کنید.

روش اول: افزایش با فایل functions.php قالب

برای این منظور کافی است کدهای زیر را به فایل فانکشن قالبی که روی سایت فعال بوده و در مسیر wp-content/themes/folder قرار دارد اضافه کنید.

@ini_set('upload_max_size' , '128M');
@ini_set('post_max_size', '128M');
@ini_set('max_execution_time', '300');

روش دوم: افزایش حافظه php با فایل htaccess.

برای این منظور کافی است کدهای زیر را به انتهای این فایل که در مسیر public_html قرار دارد اضافه کنید.

php_value upload_max_filesize 64M
php_value post_max_size 64M

روش سوم: افزایش حافظه php با فایل wp-config.php

وارد مسیری که وردپرس در public_html نصب کردید شده و به دنبال فایلی به نام wp-config.php بگردید. سپس کدهای زیر را در این فایل قرار دهید.

define('WP_MEMORY_LIMIT', '128M');
ini_set('post_max_size', '128M');
ini_set('upload_max_filesize', '128M');

چهارم: فایل htaccess. را مجددا بسازید

فایل htaccess. در هاست تنظیماتی را در اختیار ما قرار می‌دهد که به کمک آن می‌توانیم کارهای مختلفی مثل ریدایرکت، محدودیت در دسترسی به سایت و… را اعمال کنیم. گاهی اوقات با نصب افزونه این فایل دستخوش تغییراتی می‌شود که می‌تواند اجازه برای اجرای کدها را تغییر دهد. برای رفع مشکل کافی است مجددا این فایل را بسازید.

برای این منظور ابتدا وارد هاست سی پنل خود شده و سپس به مسیر public_html در بخش file manager مراجعه کنید. سپس از منوی SETTINGS که در بالای صفحه قرار دارد، گزینه SHOW HIDDEN FILES را فعال کنید تا این فایل نمایش داده شود. حال به کمک گزینه RENAME نام آن را به چیز دیگری مثل htaccess-old. تغییر دهید.

اگر به پیشخوان وردپرس دسترسی دارید، به منوی تنظیمات> پیوندهای یکتا رفته و بدون ایجاد هیچگونه تغییری فقط روی دکمه ذخیره‌ی تغییرات کلیک کنید.

 

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *