متاسفانه گاهی اوقات شاهد وقوع خطاهای عجیب و غریبی در یک سایت هستیم. این خطاها معایبی را برای ما به همراه دارند. به عنوان مثال، این ایرادات موجب میشوند که نتوانیت کارهایمان را به موقع انجام دهیم. ما تا به حال در خصوص خطاهای متنوعی صحبت کردهایم و حال باید به سراغ Gateway Timeout 504 برویم؛ خطایی که شاید برای بسیاری از افراد کلافه کننده باشد. هر موقع که این خطا را مشاهده میکنیم، به این معناست که فعلا نمیتوانیم از امکانات آن سایت بهرهمند شویم. این ایراد را هم باید در دستهی HTTP قرار داد.
خطاهای 504 معمولا در دو جنبه بررسی میشوند. برخی افراد صرفا قصد دارند تا از یک سایت بازدید کرده و از مختویات آن استفاده نمایند. در سمت دیگر، مدیران سایتی وجود دارند که گاهی با این خطا مواجه میشوند و حتی شاید ندانند که باید چه کاری انجام دهند. در چنین مورادی، مدیر سایت باید به سرعت نسبت به کسب اطلاعات در این زمینه اقدام کرده و سایتش را تعمیر نماید.
پس همانطور که متوجه شدید، در این مقاله قصد داریم تا به چگونگی رفع خطای 504 بپردازیم. از هر دو جنبهای که در بالا گفته شد، میخواهیم به نحوهی رفع این ارور اشاره کنیم و مطمئن باشید که در پایان کار از آن سربلند بیرون خواهید آمد. پس با ما همراه باشید تا پیش از هر چیز، این خطا را تعریف کنیم.
ارور Gateway Timeout 504 چیست؟
یک کد وضعیت HTTP در تنظیمات سرورها موجود هستند که به سادگی میتوان به آن دسترسی داشت. این تنظیمات در مرورگر نیز مشخص است. به وسیلهی این تنظیمات، میتوانید تشخیص دهید که علت وقوع این خطا دقیقا چیست؟ البته تنها قادر هستید تا نوع خطا را ببینید و چگونگی رفع آن برای شما توضیح داده نخواهد شد. حال ما دلایلی برای این خطاها ارائه خواهیم داد تا تک تک آنها را پیاده کنید و در نهایت به نتیجه برسید.
یکی از کدهای ذکر شده به ارور 504 نیز مربوط میشود. هنگامی که پاسخ درست و به موقعی در سرور به چشم نخورد، معمولا با این خطا روبهرو میشویم. در بیان دیگر، میتوان چنین گفت که میان مرورگر و سرور ارتباط درستی برقرار نمیشود و با یکدیگر تطبیقپذیر نیستند.
خطای ذکر شده میتواند دو دلیل اصلی داشته باشد. یا این خطا مربوط به فرد و قدرت و سرعت اینترنتی است که در اختیار دارد، یا مشکل به کلی به سرور مربوط میشود.
خطای 504 در .ردپرس با چه پیام هایی مشاهده می شود؟
با اینکه امکان دارد برخی از سایتها، صفحه سفارشی برای ارور 504 Gateway Timeout ساخته باشند اما بسته به نوع مرورگر، سیستم عامل و سرورهای به کار گرفته شده، شیوههای مختلفی برای نمایش خطای 504 وجود دارد که به یکی از اشکال زیر هستند.
- 504 Gateway Timeout
- HTTP 504
- 4 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. تغییر دهید.
اگر به پیشخوان وردپرس دسترسی دارید، به منوی تنظیمات> پیوندهای یکتا رفته و بدون ایجاد هیچگونه تغییری فقط روی دکمه ذخیرهی تغییرات کلیک کنید.
پنجم: بررسی قالب و افزونهها
همانطور که اشاره از دلایل اصلی بروز خطای 504 در وردپرس محدودیت در اجرای درخواستهای است که میتواند به دلیل ترافیک بالا ایجاد شود. متاسفانه استفاده از افزونههای نال و قالب نال در وردپرس فارسی بیشترین دلیلی است که باعث ایجاد این خطا در سایتهای وردپرس فارسی میشود.
بسیاری از مارکتهای وردپرس هم که ادعا دارند محصولات را اورجینال درج میکنند و خودشان از سایتهایی مثل تم فارست یا کد کنیون خریداری کردهاند نال هستند. کدهای موجود در افزونههای نال باعث میشوند تا مصرف منابع شما بالا رفته و در حافظه php اختلال وارد کنند. بنابراین افزونهها را غیرفعال کرده و بررسی کنید آیا مشکل رفع شده یا خیر. همچنین موقتا از قالب پیشفرض وردپرس استفاده کنید.
اگر خطا رفع شده باشد مشکل از افزونه یا قالب است که با فعال کردن یک یک افزونهها و بررسی دوباره سایت میتوانید افزونه مخرب را پیدا کنید. اگر هم از قالب باشد که با تغییر قالب خطا رفع شده و مشخص است.
ششم: بررسی دیتابیس وردپرس
در برخی مواقع وجود ایراداتی در پایگاه داده سایت شما، این خطا را به وجود میآورد؛ در چنین شرایطی افزونه WP-DBManager را نصب کرده و از آن کمک بگیرید. هچنین اگر به تازگی وردپرس را نصب کردید حتما یک بررسی روی فایل htaccess. که در راهکار چهارم ذکر کردم داشته باشید.
هفتم: ارور 504 در کلودفلر
اگر از CDN کلودفلر استفاده میکنید گاهی اوقات پیش میآید که با صفحهی خطای 504 کلودفلر مواجه خواهید شد. این خطا مشابه تصویر بالا نمایش داده میشود.
بسته به اینکه مشکل از سمت سرور سایت شما باشد ممکن است این خطا نیاز به بررسی راهکارهایی که در بالا اشاره کردیم داشته باشد. اما گاهی اوقات خطا مربوط به شبکه کلودفلر و اینترنت است که با رفرش کردن یا مراجعه در دقایقی دیگر برطرف خواهد شد.
هشتم: با ارائه دهنده هاستینگ تماس برقرار کنید.
اگر هنوز این مشکل را تجربه میکنید، بهتر است که این مشکل را به پشتیبان فنی هاست خود اطلاع دهید. در چنین مواردی آنها حتما مشکل شما را رفع خواهند کرد و به بررسی ابعاد بیشتر این مسئله میپردازند.
از آنجایی که مهم است این خطا زودتر رفع شود تا با خطای coverage issue در گوگل سرچ کنسول که از نوع 5XX هستند مواجه نشوید، بهتر است که هنگام ارسال تیکت کلیهی راهکارهایی که بررسی و تست کردید را اعلام کنید تا با بررسی ابعاد دیگری که باعث بروز این خطا میشود مشکل شما را یافته و برطرف کنند.
جمع بندی
در این مقاله سعی کردم به صورت جامع به بررسی تمام عواملی که باعث بروز ارور 504 در وردپرس میشود پرداخته و و راه حلهای متنوعی که چه برای کاربران و چه برای مدیران سایتها وجود دارد را پیشنهاد کنم. در صورتی که خطاهای دیگری را در سایت خود تجربه میکنید میتوانید با مراجعه به صفحهی رفع خطاهای رایج وردپرس در وبلاگ سون هاست با روشها و راهکارهایی که برای رفع هر خطا وجود دارد آشنا شده و در زمان کوتاهی آنها را برطرف کنید.