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

این خطا چه زمانی در وردپرس نمایش داده میشود؟
در یکی از حالت های زیر ممکن است با خطای 413 Request Entity Too Large در وردپرس مواجه شوید:
- آپلود فایل های حجیم و بزرگ
- ارسال فرم های طولانی یا ارسال چندین فایل همزمان
- محدودیت در تنظیمات سرور مثل (upload_max_filesize و post_max_size)
- محدودیت افزونه ها یا پوسته سایت

چرا خطای 413 در وردپرس رخ میدهد؟
- محدودیتها در هاست اشتراکی
بسیاری از وبسایت های وردپرسی از هاست های اشتراکی استفاده می کنند و همین مسئله یکی از دلایل بروز خطای 413 در سایت های وردپرسی محسوب می شود. در هاستهای اشتراکی، شرکت هاستینگ معمولاً محدودیت های سخت گیرانه ای برای حجم آپلود و درخواست ها اعمال می کند. حتی اگر شما تنظیمات PHP یا وب سرور را تغییر دهید، ممکن است برخی محدودیتها توسط خود هاست اعمال شده باشد و قابل تغییر نباشد مگر اینکه از سمت خود هاستینگ ارتقا داده شود.
- بارگذاری قالب یا افزونه سنگین
آپلود یا بارگذاری افزونه ها یا قالب های سنگین از داخل پیشخوان وردپرس، یکی از شایع ترین مواقعی است که امکان دارد با خطای 413 مواجه شوید.
- آپلود فایل های مدیای حجیم
فایل های ویدیویی یا تصاویر باکیفیت حجم زیادی دارند؛ در صورتی که بخواهید این قبیل فایل ها را از طریق بخش رسانه های پیشخوان بارگذاری کنید احتمال مشاهده این خطا وجود دارد.
- ذخیره سازی دادههای بزرگ در صفحه ساز المنتور
در ویرایشگر المنتور زمانی که شما قصد دارید یک برگه بسیار سنگین (با تعداد کانتینرها، ویجت ها یا کدهای سنگین) را ذخیره کنید، اما تنظیمات سرور شما اجازه ارسال این حجم از داده را در یک درخواست یا Request به صورت یکجا نمیدهد.

آموزش رفع خطای 413 Request Entity Too Large در وردپرس
تغییر تنظیمات در فایل php.ini
فایل php.ini یک فایل متنی است که میتوانید تنظیمات php را به صورت کدنویسی شده در آن مشخص کنید. در هاست های اشتراکی این فایل در پوشه اصلی یا root سایت شما یعنی public_html قرار دارد. اما در هاست های سی پنل در بخش Select PHP Version و در تب Options تنظیمات این فایل به صورت گرافیکی در دسترس و قابل انجام هستند.
برای رفع خطای 413 Request Entity Too Large باید پارامترهای زیر را ارتقا دهید:
- post_max_size (حداکثر دادهای که از طریق فرمها مثلا دکمه ذخیره المنتور ارسال میشود)
- upload_max_filesize (حداکثر حجم مجاز جهت آپلود یک فایل)
- memory_limit (بیشترین میزان حافظه رم اختصاص یافته به اجرای کدهای PHP)
- max_input_vars (حداکثر تعداد متغیرهایی که در یک درخواست ارسال میشود برای زمانی که با المنتور کار میکنید خیلی مهم است)
- max_execution_time ( بیشترین زمان مورد نیاز برای اجرای کدها بر حسب ثانیه )
ویرایش فایل .htaccess
در صورتی که وب سرور هاست شما آپاچی Apache است؛ یکی از سریعترین راه ها برای رفع خطای 413 برای شما، تغییرات در فایل .htaccess می باشد. این فایل در داخل خود فایل public_html در هاست شما قرار دارد. اگر .htaccess را مشاهده نمیکنید باید نمایش فایل های مخفی را فعال کنید. این فایل سیستمی و مهم یک فایل متنی است که باید روی آن راست کلیک کرده و گزینه edit را بزنید. به انتهای این فایل کدهای زیر را اضافه کرده و ذخیره کنید:
# ارتقا حجم مجاز درخواستها برای حل خطای 413
LimitRequestBody 67108864
# PHP برای اطمینان از پردازش های بزرگ
<IfModule mod_php7.c>
php_value post_max_size 64M
php_value upload_max_filesize 64M
php_value memory_limit 256M
php_value max_input_vars 5000
php_value max_execution_time 300
</IfModule>
حذف محدودیت های آپلود فایل از طریق functions.php :
اگر به هاست دسترسی ندارید؛ از طریق ویرایش فایل functions.php هم امکان رفع خطای 413 وجود دارد. از داخل پیشخوان وردپرس منوی نمایش> ویرایشگر پرونده پوسته را بزنید. فایل functions.php قالب چایلد را انتخاب کنید و کدهای زیر را به انتهای این فایل اضافه کنید.
@ini_set( ‘upload_max_size’ , ‘128M’ );
@ini_set( ‘post_max_size’, ‘128M’ );
@ini_set( ‘max_execution_time’, ‘300’ );
@ini_set( ‘max_input_time’, ‘300’ );
بررسی تنظیمات امنیتی و فایروال هاست (ModSecurity)
فایروال، تنظیمات امنیتی و ModSecurity که روی اکثر هاست های لینوکسی فعال است؛ امکان دارد هنگام ارسال اطلاعات و یا کدهای المنتور به اشتباه فکر کند که حمله ای انجام شده و ارتباط را قطع کند. فعال بودن فایروال در افزونه های امنیتی مثل Wordfence یا iThemes Security هم می تواند باعث بروز خطای 413 شود.
آپلود فایل ها از طریق هاست یا FTP server
در صورتی که با هیچ یک از راه حل های گفته شده خطای 413 برطرف نشد، با آپلود فایل ها از طریق هاست یا FTP server می توانید فایل های حجیم را بارگذاری کنید و این خطا را اصطلاحا دور بزنید. اگر فایل منیجر هاست اجازه آپلود فایل مورد نظر شما را نداد، از نرم افزارهای FTP مثل Filezila استفاده کنید.
جمع بندی
خطای 413 Request Entity Too Large در هنگام بارگذاری یا آپلود فایل ها یا ارسال فرم در وردپرس ایجاد می شود. در هنگام مواجه با این خطا در قدم اول در تنظیمات php درهاست یا فایل php.ini پارامتر post_max_size را روی 128M یا 256M تنظیم کنید. و اگر حل نشد به سراغ فایل .htaccess بروید و مطابق آموزش عمل کنید. در نهایت اگر خطا برطرف نشد و نیاز به تغییرات پیشرفته تر در هاست وجود داشت؛ تماس با شرکت هاستینگ می تواند خطای 413 را برطرف کند.



