رفع خطا ۵۰۴ Gateway Timeout بستهٔ نصبی قالب وردپرس Duplicator
Duplicator نام افزونهای است که از کل سایت وردپرس شما یا توسعه دهندگان قالب یک نسخهٔ کامل و البته فشرده شده تهیه میکند که به سادگی با انتقال آن بسته و اجرای فایل نصاب به یک فضای میزبانی دیگر، خودکار عملیات نصب کامل را انجام میدهد. به عبارتی دیگر از Duplicator برای انتقال کامل یک سایت وردپرسی میتوان استفاده کرد. که معمولاً فروشندگان قالب این کار را انجام میدهند و شما هم به عنوان خریدار باید یاد داشته باشید که چطور با آن رفتار کنید و خطاهای احتمالی را برطرف نمایید. در این مقاله به احتمالاتی که باعث بروز خطای ۵۰۴ Gateway Timeout هنگام نصب بستهٔ نصبی وردپرس میشود میپردازیم و راه حل ارائه میکنیم.
پس اگر هنگام نصب بستهٔ نصبی قالب وردپرس با مشکل مواجه شدید، موارد زیر را حتماً در نظر بگیرید.
محدودیتهای PHP
وقتی که یک هاست PHP تهیه میکنید، باید بدانید که ممکن است تنظیمات مختلف و متفاوتی روی PHP آن هاست اعمال شده باشد؛ محدودیتهایی که معمولاً برای بالا بردن کارایی و امنیت اسکریپت PHP اعمال میگردند. از آن جایی که وردپرس هم با PHP کار میکند، باید نسبت به این تنظیمات آگاه باشید، که معمولاً مهمترین دلیل بروز این مشکل همین محدودیتهای PHP است.
مهم ترین گزینههای تنظیماتی درون سند پیکربندی PHP موارد زیر هستند که حتما باید بررسی شوند:
- upload_max_filesize
- post_max_size
- memory_limit
- max_execution_time
مقدار عددی هر کدام از این موارد اگر کم باشد، ممکن است مشکل زا باشند. بهتر است مقادیر هر کدام را افزایش دهید و تست کنید که آیا مشکل رفع شده یا خیر.
بسته به اینکه نوع هاست شما چیست، ممکن است روش تغییر هر کدام از این گزینهها متفاوت باشد. ولی معمولاً اگر دسترسی کنترل پنل داشته باشید (مثلا سی پنل یا دایرکت ادمین)، در این حالت بخشی باید وجود داشته باشد تا بتوانید تغییرات PHP را اعمال کنید. مثل در سیپنل و یا حتی دایرکت ادمین بخشی با نام PHP Selector مسئول انجام این کار است. در سربرگ اول PHP Selector میتوانید نسخهٔ PHP را تنظیم کنید. در سربرگ دوم که همان Options است، گزینههای تنظیماتی PHP که در بالا ذکر شده موجودند.
محدودیتهای Nginx/PHP-FPM
اگر وبسرور هاست شما Nginx باشد، این نرم افزار هم مثل آپاچی یا هر وبسرور دیگر، دارای گزینههای تنظیماتی زیادی است که یکی از آنها client_max_body_size است و احتمال اینکه مقدار عددی این گزینه کم باشد که این مشکل رخ دهد بسیار زیاد است. سند پیکربندی انجینیکس معمولاً در مسیر /usr/local/nginx/conf/nginx.conf قرار گرفته که باید آن را باز کرده و ویرایش کنید. البته احتمالاً نیاز است که دسترسی سطح بالا داشته باشید.
علاوه بر آن پیکربندی PHP-FPM هم بیتاثیر نیست. گزینههای تنظیماتی fastcgi_send_timeout و fastcgi_read_timeout را حتماً باید بررسی کنید که مقادیر کمی روی آنها تنظیم نشده باشد. بعد از اعمال این تغییرات فراموش نکنی که nginx و php-fpm را راه اندازی مجدد کنید (با دستور nprestart).
محدودیتهای Cloudflare HTTP POST Upload
از طرف دیگر اگر از NS های کلودفلیر روی سایت خود اسفتاده میکنید، این سرویس ممکن است تغییراتی را در ارسالها و دریافتهای HTTP بدهد. از جملهٔ این تغییرات upload max limits است که حداکثر میزان آپلود را تعیین میکند که محدودیتی های الزامی را اعمال میکند. مثلا برای پلنهای رایگان از ۱۰۰ مگابایت تجاوز نمیکند.
حداقلش این است که برای مدتی کلود فلیر را روی سایت خود غیرفعال کنید که این کار را از طریق حساب کاربری کلودفلیر خود میتوانید انجام دهید. یک کار دیگر هم این است که روی رایانهٔ شخصی خود از طریق ویرایش سند hosts آیپیهای مستقیم سرور سایت خود را وارد کنید که از DNS های کلودفلیر استفاده نکند. بعد از مدتی که کارتان تمام شد، دوباره آنها را به حالت اول برگردانید.