یکی دیگر از خطاهای رایجی که در وردپرس رخ میدهد خطا 504 وردپرس است که آن را با نام خطای 504 gateway timeout نیز میشناسیم. علت ارور 504 سایت همانطور که از نام آن مشخص است در اکثر مواقع سپری شدن حداکثر زمان برای پاسخ دادن سرور به درخواستها میباشد.
ما در این مقاله قصد داریم به بررسی دلایل مختلف به وجود آمدن مشکل ارور 504 gateway time out پرداخته و به شما کمک کنیم که چگونه آن را رفع کنید.
آموزش رفع ارور 504 وردپرس
اگر مدیریت یک سایت وردپرسی را بر عهده دارید و با خطا 504 gateway timeout مواجه شدید ما در این مقاله به بررسی دلایل مختلف این خطا پرداخته و به شما کمک میکنیم که چگونه آن را برطرف کنید. اما اگر یک کاربر عادی هستید کافی است کش مرورگر خود را پاک کرده یا اینکه برای 10 دقیقه مودم یا داده موبایل خود را خاموش کنید.
تغییرات در سرور یا بازدید بالا
معمولا علت اصلی خطای 504 در وردپرس به بازدید بالای سایت یا ایجاد تغییرات در سرور برمیگردد. وقتی هاست شما قادر به پاسخگویی به بازدید بالا نباشد موفق نمیشود که درخواستها را به موقع پاسخ دهد و برای همین با این ارور مواجه میشوید.
در حالت دیگر هم در زمان تغییرات و آپدیت در سرور ممکن است این مشکل رخ دهد که برخی توابع به دلیل تغییر کردن ناسازگار شده و باعث میشوند مدت زمان پاسخ دهی به درخواستها به شدت بالا برود.
تعمیر فایل htaccess.
فایل htaccess. از فایلهای مهم هر سیستم سایت ساز است. این فایل تغییرات سطح دسترسی و موارد دیگری مثل ریدایرکتها را نیز کنترل میکند. گاهی پیش میآید که با نصب افزونه یا تغییرات در این فایل خطای 504 وردپرس ایجاد میشود که برای اطمینان از این موضوع کافی است موقتاً نام فایل را تغییر دهید.
برای این منظور وارد مسیر public_html هاست خود شده یا اینکه با استفاده از ابزار FTP همین مسیر را دنبال کنید. سپس فایل htaccess. را انتخاب کرده و با استفاده از گزینه rename نام فایل را به نام دیگری مثل htaccess1. تغییر دهید. سایت را باز کنید، در صورتی که ارور 504 gateway time out رفع شده باشد کافی است این فایل را تعمیر کنید.
برای این کار هم کافی است از پیشخوان وردپرس خود وارد مسیر تنظیمات> پیوندهای یکتا شده و سپس مشابه تصویر فوق بدون اینکه گزینههای پیوند یکتا را تغییر دهید روی دکمه ذخیره تغییرات که در انتهای صفحه قرار دارد کلیک کنید تا این فایل مجدداً ساخته شده و مشکل برطرف شود.
در صورتی که مشکل برطرف نشد وارد هاست خود شده و کدهای زیر را در فایل htaccess. اضافه کنید.
# BEGIN WordPress RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] # END WordPress
بررسی افزونهها
گاهاً پیش میآید که بلافاصله با نصب افزونه در وردپرس یا آپدیت افزونه خاصی ارور 504 سایت رخ میدهد که این مشکل به دلایلی مثل ایجاد اختلال با سایر افزونهها یا تغییرات سطح دسترسی در آن ایجاد میشود. اگر مشکل از این بخش بود کافی است افزونهای که به تازگی نصب کردید را غیرفعال کنید.
در غیر این صورت همه افزونههای وردپرس را غیرفعال کنید. سپس وارد صفحه افزونهها در وردپرس شده و همه افزونهها را غیرفعال کنید. حال در هر بار فعال کردن افزونه سایت را باز کرده و بررسی کنید که ارور 504 gateway timeout رفع شده باشد.
به محض اینکه با فعال کردن افزونه خاصی مشکل مجدداً نمایش داده شد دلیل آن افزونه مورد نظر است که باید آن را بررسی کرده و ببینید که مشکل از کجاست که افزونه با خطا مواجه شده است.
به این نکته هم توجه داشته باشید که، در صورت عدم دسترسی به پیشخوان وردپرس برای غیرفعال کردن افزونهها، باید از مسیر file manager هاست خود یا اینکه ابزار FTP به مسیر /public_html/wp-content/ مراجعه کنید. سپس نام پوشه plugins را مشابه تصویر بالا به کمک گزینه rename نام دیگری مثل plugins.test تغییر نام داده و ذخیره کنید.
استفاده از قالب پیشفرض وردپرس
گاهی اوقات هم علت ارور 504 gateway time out مربوط به قالب وردپرس است. در این حالت وارد پیشخوان وردپرس شده و قالب پیشفرض را فعال کنید. اگر دسترسی به پیشخوان ندارید وارد file manager هاست خود شده یا اینکه با ابزار FTP به مسیر /public_html/wp-conten/themes/ مراجعه کنید. سپس نام پوشه قالب فعال خود را به کمک گزینه rename به نام دیگری مثل theme-name تغییر داده و ذخیره کنید.
در این صورت قالب فعلی غیرفعال شده و از قالب پیش فرض وردپرس استفاده خواهد شد. دقت کنید که حتما باید یکی از قالب های پیشفرض وردپرس در پوشه themes وجود داشته باشند.
پایین بودن مقدار حافظه PHP
به دلیل پایین بودن مقدار حافظه php هاست نیز ممکن است این مشکل رخ دهد. در این حالت می توانید به کمک کد زیر میزان حافظه را افزایش دهید. برای این منظور فایل wp-config.php که در پوشه public_html هاست قرار دارد را به کمک ابزار FTP باز کرده و کد زیر را درون فایل قرار دهید.
define('WP_MEMORY_LIMIT', '64M');
در صورتی که با استفاده از کد بالا موفق به افزایش حافظه php وردپرس نشدید، میتوانید کد زیر را در فایل htaccess. که در همان مسیر public_html هاست قرار دارد کپی کنید. دقت کنید که در صورت استفاده از هاست سی پنل این فایل مخفی است که باید به کمک بخش settings هاست و فعال کردن تیک گزینه show hidden files نمایش فایلهای مخفی در سی پنل را فعال کنید.
php_value memory_limit 64M
اگر باز هم موفق به اضافه کردن مقدار حافظه php نشدید، یک فایل جدید با نام php.ini در پوشه public_html ساخته و کد زیر را درون آن قرار دهید. در صورتی که به این روش هم موفق نشدید باید از پشتیبانی هاست کمک بگیرید.
memory_limit = 64M
بررسی دیتابیس وردپرس
در برخی موارد هم این خطا از سمت دیتابیس وردپرس خواهد بود که در این حالت پیشنهاد میکنم به مقاله آموزش رفع مشکل اتصال به پایگاه داده وردپرس مراجعه کرده و بر اساس راهکارهایی که برای بررسی mySQL و تست ارتباط دیتابیس معرفی کرم این مورد را چک کنید.
رفع ارور 504 وردپرس در کلودفلر
اگر از CDN کلودفلر استفاده میکنید ممکن است مشابه تصویر بالا نیز با ارور 504 کلودفلر در سایت وردپرسی مواجه شوید. در این حالت خطا یا از سمت هاست شماست که ارتباط آن با سرور کلودفلر قطع شده؛ یا اینکه تغییراتی در کلودفلر ایجاد میشود که معمولا در این حالت مشکل موقتی بوده و پس از چند دقیقه برطرف میشود.