خطا 413 Request Entity Too Large چیست و چطور میتوان آن را رفع کرد؟

در ادامه مقالات آموزش وردپرس در این مقاله به موضوع خطا 413 request entity too large که یکی از خطاهای رایج در وردپرس است میپردازیم. در این مقاله ضمن معرفی این خطای رایج در وردپرس راههای رفع آن را هم به شما آموزش میدهیم.

خطای 413 Request Entity Too Large چیست؟

شاید برای شما هم پیش آمده باشد که بخواهید یک افزونه ، قالب ، عکس یا هر نوع فایل دیگری را روی هاست سایت وردپرسی خود بارگذاری کنید ولی به علت حجم بالای آن فایل ، امکان آپلود آن فایل وجود نداشته باشد. خطای 413 Request Entity Too Large  زمانی رخ میدهد که کاربر نتواند فایل مورد نظر خود را روی هاست سایت وردپرسی بارگذاری کند و علت آن هم این است که هاست برای حجم فایلی که آپلود میشود یک محدودیت قرار داده و نمیتوان در آن فایلی با حجم بیش از حداکثر مقداری که تعیین شده است آپلود کرد.

نحوه رفع خطای 413 Request Entity Too large

قبل از این که به دنبال راهی برای حل مشکل413   Request Entity Too Large باشید در گام اول مجوزهای سرور را بررسی کنید که آیا کاربر اجازه آپلود فایل حجیم را دارد زیرا ممکن است در بخش تنظیمات دسترسی کاربران ، به یک یا چند کاربر اجازه آپلود فایل حجیم داده نشده باشد اگر محدودیتی در مجوزها برای آپلود فایل وجود نداشت برای رفع خطا میتوان از روشهایی که در ادامه این مقاله بیان میکنیم استفاده کنید.

برای رفع  این خطا چند راه حل ساده وجود دارد که این راه حلها شامل موارد زیر میشود:

  1. استفاده از پروتکل FTP یا SFTP برای آپلود فایلهای حجیم روی هاست
  2. ویرایش فایل php وردپرس برای افزایش حداکثر حجم قابل آپلود
  3. ویرایش فایل htaccess. وردپرس برای افزایش حداکثر حجم قابل آپلود

استفاده از پروتکل FTP یا SFTP برای آپلود فایلهای حجیم روی هاست

یکی از راههای دور زدن محدودیت حداکثر حجم قابل آپلود روی سایتهای وردپرسی استفاده از پروتکلهای انتقال فایل مثل FTP یا SFTP است که با استفاده از آنها میتوان فایلهای حجیم را روی هاست آپلود کرد برای استفاده از این پروتکلها میتوان از برنامه­ هایی مثل Filezila هم استفاده کرد.

برای انتقال فایل روی هاست سایت وردپرسی ، باید فایل مورد نظر را در محل درست آن فایل آپلود کرد برای مثال اگر میخواهید یک افزونه حجیم را روی هاست سایت وردپرسی آپلود کنید باید آن را در بخش پلاگینها که در مسیر زیر قرار دارد آپلود کنید:

Wp-content -> plugins

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

همانطور که در تصویر زیر میبینید روی هاست سایت وردپرسی فایلها و پوشه های زیادی وجود دارد برای مثال پوشه plugins برای افزونه ها و پوشه themes برای قالبهای سایت وردپرسی است.

خطای 413 Request Entity Too Large چیست؟

به همین راحتی و با استفاده از پروتکلهای انتقال فایل مثل FTP و SFTP میتوان خطای 413 Request Entity Too large را دور زد و هر تعداد فایل حجیم که مورد نیاز است را روی هاست آپلود کرد البته در آپلود فایلهای حجیم باید میزان حافظه هاست سایت را هم در نظر داشت زیرا هر هاست میزان حافظه مشخص و محدودی دارد.

ویرایش فایل php وردپرس برای افزایش حداکثر حجم قابل آپلود

برای افزایش حداکثر حجم قابل آپلود روی هاست سایت وردپرسی میتوان از فایل functions.php استفاده کرد برای این منظور ابتدا از طریق پنل مدیریت هاست یا حتی با استفاده از پروتکل FTP از بخش روت فایلهای هاست که در Cpanel فایل public_html است فایل functions.php را پیدا کنید و آن را با یک ویرایشگر متن مثل Notepad++ باز کنید و کدهای زیر را به آن اضافه کنید :

@ini_set( ‘_max_size’ , ’64M’ );

@ini_set( ‘post_max_size’, ’64M’);

@ini_set( ‘max_execution_time’, ‘300’ );

با اضافه کردن این 3 خط کد به فایل functions.php ضمن افزایش حداکثر حجم قابل آپلود روی هاست به 64 مگابایت ، حداکثر زمان آپلود فایل نیز افزایش می یابد.

خطای 413 Request Entity Too Large چیست؟

اگر نیاز به آپلود فایلی با حجم بیشتر از 64 مگابایت بود میتوان سقف حجم آپلود را بیش از این مقدار در نظر گرفت.

ویرایش فایل htaccess. وردپرس برای افزایش حداکثر حجم قابل آپلود

روش دیگر افزایش حداکثر حجم قابل آپلود روی هاست سایت وردپرسی اصلاح فایل htaccess. است البته تفاوت فایل .htaccess با functions.php این است که این فایل شامل پیکربندی برای سرورهای آپاچی است و معمولا به صورت hidden است.

  آموزش طراحی سایت با وردپرس در کمتر از یک ساعت

برای افزایش حداکثر حجم قابل آپلود روی هاست با استفاده از فایل .htaccess باید از طریق پنل مدیریت هاست سایت این فایل را در بین فایلهای هاست پیدا کنید و آن را با استفاده از یک ویرایشگر متن مثل Notepad++ باز کنید و چند خط کد زیر را به این فایل اضافه  کنید:

php_value upload_max_filesize 64Mphp_value post_max_size 64Mphp_value max_execution_time 300php_value max_input_time 300

البته این چند خط کد باید مطابق شکل زیر به انتهای فایل .htaccess و بعد از بخش # END WordPress اضافه شود :

خطای 413 Request Entity Too Large چیست؟

بعد از اضافه کردن این چند خط کد ، آن را ذخیره کنید و دوباره سعی کنید فایل مورد نظرتان را آپلود کنید.

با افزایش حداکثر حجم قابل آپلود روی هاست به راحتی میتوان خطای 413 Request Entity Too large را رفع کرد.

افزایش حجم آپلود با ویرایش فایل ini برای افزایش حداکثر حجم قابل آپلود

در فایل php.ini میتوان تنظیمات پیشفرض php را تعریف کرد و حداکثر حجم قابل آپلود فایل را نیز افزایش داد.

برای پیدا کردن فایل php.ini در بین فایلهای وردپرس باید در پنل مدیریت هاست به دنبال این فایل بود و اگر هم این فایل را پیدا نکردید میتوانید مطابق شکل زیر آن را ایجاد کنید.

خطای 413 Request Entity Too Large چیست؟

سپس با استفاده از یک ویرایشگر متن دو خط کد زیر را به فایل php.ini اضافه کنید تا حداکثر حجم قابل آپلود به 32 مگابایت افزایش یابد.

upload_max_filesize = 32M

post_max_size = 64M

memory_limit = 128M

بعد از وارد کردن این دو خط کد در php.ini آن را ذخیره کنید.

البته باید به این نکته توجه داشته باشید که برخی از هاستها اجازه تغییر فایل php.ini را نمیدهند و در این موارد باید به دنبال روش دیگری بود.

پیکربندی سرور Nginx برای افزایش حجم فایل قابل آپلود

روش بعدی برای حل خطای 413 Request Entity Too large مختص سایتهایی است که از سرور Nginx استفاده میکنند که هدف این مرحله مثل اصلاح فایل .htaccess است با این تفاوت که در این حالت با سرور سروکار داریم. در سرورهای Nginx برخلاف سرورهای آپاچی ، فایل .htaccess وجود ندارد و به جای این فایل در سرورهای Nginx باید به دنبال فایل nginx.conf بود

البته در سایتهایی که از سرور Nginx استفاده میکنند باید هر دو فایل php.ini و nginx.config را اصلاح کرد.

در سرور Nginx فایل php.ini را در مسیر زیر میتوان یافت:

/etc/php/7.4/fpm/php.ini

بسته به اینکه کدام نسخه PHP را نصب کرده اید، مسیر دقیق ممکن است کمی متفاوت باشد.

بعد از یافتن فایل php.ini باید مطابق آنچه در بخش قبلی همین مقاله بیان شد دو خط کد زیر را به این فایل اضافه کنیم:

upload_max_filesize = 64M

post_max_size = 128M

بعد از ذخیره فایل php.ini تغییرات با راه اندازی مجدد PHP-FPM با استفاده از کد زیر فعال میشوند

sudo service php7.4-fpm restart

البته کد بالا با توجه به نسخه PHP شما ممکن است کمی متفاوت باشد.

در مرحله بعدی برای افزایش حجم آپلود فایل باید مقدار فیلد

 client­_max_body_size در فایل nginx.config را با دستور زیر افزایش داد

http {

    …

    client_max_body_size 128M;

}

تغییرات را ذخیره کنید و با دستور زیر Nginx را مجددا راه اندازی کنید تا تغییرات اعمال شود:

sudo service nginx reload

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

کلام آخر

در این مقاله در مورد خطای 413 Request Entity Too large که یکی از خطاهای رایج در وردپرس است صحبت کردیم و راههای رفع این مشکل را هم به شما آموزش دادیم. برای رفع این مشکل میتوان فایل را از طریق پروتکلهای انتقال فایل مثل FTP منتقل کرد یا با ایجاد برخی تغییرات در برخی فایلهای وردپرس حداکثر حجم قابل آپلود را افزایش داد تا این خطا ایجاد نشود البته اگر خواستید تغییراتی در فایلهای وردپرس ایجاد کنید حتما یک نسخه بک­آپ از آنها داشته باشید تا در صورت بروز مشکل استفاده کنید. امیدواریم این مقاله برای شما مفید بوده باشد اگر هر گونه انتقاد یا پیشنهادی در مورد این مقاله داشتید خوشحال میشویم از طریق کانالهای ارتباطی با ما در میان بگذارید.

آیا این مقاله برای شما مفید بود؟
تقریبا
خیر

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

ارسال دیدگاه به معنی این است که شما ابتدا قوانین ارسال دیدگاه را مطالعه کرده‌اید و با آن موافق هستید.

دیدگاه‌های این نوشته جدید ترین ها شاخص

  1. 2 سال عضو همیار وردپرس

    خیلی خوب بود ممنون
    من از سرور nginx استفاده میکنم و با مقاله شما به راحتی و در سریعترین زمان ممکن تونستم این خطا رو برطرف کنم

    • 10 سال عضو همیار وردپرس

      سلام
      موفق باشید دوست عزیز