رفع خطای 413 Request Entity Too Large در وردپرس
خلاصه (TL;DR): خطای «413 Request Entity Too Large» هنگام آپلود فایل، تصویر، قالب یا افزونه در وردپرس یعنی حجم فایلی که میفرستید از حداکثر مجاز تعیینشده در سرور بیشتر است. راهحل، افزایش سه مقدار کلیدی است: upload_max_filesize و post_max_size در تنظیمات PHP، و client_max_body_size در پیکربندی وبسرور (Nginx یا LiteSpeed). این مقادیر را میتوانید از طریق فایل php.ini، .htaccess، wp-config.php یا کنترلپنل هاست تغییر دهید. پس از اعمال تغییر، سرویس PHP و وبسرور را ریاستارت کنید. در ادامه هر روش را گامبهگام توضیح میدهیم.
خطای 413 یک کد وضعیت HTTP است که مستقیماً از سمت وبسرور میآید، نه از خود وردپرس. زمانی رخ میدهد که بدنهٔ درخواست (request body) که شامل فایل آپلودی شماست، از حد مجاز سرور فراتر رود. این خطا معمولاً هنگام آپلود یک تصویر بزرگ، ویدیو، فایل پشتیبان، یا نصب دستی قالب و افزونهٔ حجیم ظاهر میشود. خوشبختانه با تنظیم چند مقدار میتوان آن را بهسرعت برطرف کرد.
علت خطای 413 در وردپرس چیست؟
هر سروری برای جلوگیری از مصرف بیشازحد منابع و حملات، یک سقف برای حجم فایلهای آپلودی تعیین میکند. سه لایه در این محدودیت نقش دارند:
- تنظیمات PHP: مقادیر
upload_max_filesizeوpost_max_sizeحداکثر حجم فایل و کل دادهای که میتوان در یک درخواست فرستاد را مشخص میکنند. - تنظیمات وبسرور: در Nginx مقدار
client_max_body_sizeو در LiteSpeed محدودیت مشابهی حداکثر بدنهٔ درخواست را کنترل میکند. - محدودیت هاست: در هاست اشتراکی ممکن است ارائهدهنده سقف مشخصی تعیین کرده باشد که فقط با هماهنگی پشتیبانی قابل تغییر است.
برای رفع خطا باید مطمئن شوید هر سه لایه مقدار کافی دارند. اگر فقط PHP را افزایش دهید اما وبسرور همچنان سقف پایینی داشته باشد، خطا برطرف نمیشود.
مقادیر کلیدی که باید تغییر دهید
جدول زیر مقادیر مهم و محل تنظیم هرکدام را نشان میدهد:
| مقدار | کارکرد | محل تنظیم |
|---|---|---|
upload_max_filesize |
حداکثر حجم یک فایل آپلودی | php.ini یا کنترلپنل |
post_max_size |
حداکثر حجم کل داده در یک درخواست | php.ini یا کنترلپنل |
client_max_body_size |
حداکثر بدنهٔ درخواست در وبسرور | پیکربندی Nginx/LiteSpeed |
memory_limit |
حداکثر حافظهٔ مصرفی PHP | php.ini یا wp-config |
یک نکتهٔ مهم: مقدار post_max_size باید همیشه بزرگتر یا مساوی upload_max_filesize باشد، وگرنه محدودیت واقعی همان مقدار کوچکتر خواهد بود.
روش اول: تغییر از طریق کنترلپنل هاست
سادهترین راه برای اکثر کاربران، استفاده از کنترلپنل است:
- در cPanel به بخش «Select PHP Version» یا «MultiPHP INI Editor» بروید.
- مقادیر
upload_max_filesizeوpost_max_sizeرا پیدا کنید. - آنها را به مقدار دلخواه (مثلاً ۶۴ مگابایت یا بیشتر بسته به نیاز) افزایش دهید.
- تغییرات را ذخیره کنید و آپلود را دوباره امتحان کنید.
کنترلپنلهای cPanel و DirectAdmin که برتینا ارائه میدهد، این تغییرات را با رابط گرافیکی ساده و بدون نیاز به ویرایش دستی فایلها ممکن میکنند. این روش امنترین راه برای کاربران هاست اشتراکی است.
روش دوم: ویرایش فایل php.ini
اگر به فایل php.ini دسترسی دارید (روی VPS یا سرور اختصاصی):
- فایل
php.iniرا در File Manager یا از طریق SSH باز کنید. - خطوط زیر را اضافه یا ویرایش کنید:
upload_max_filesize = 64Mpost_max_size = 64Mmemory_limit = 256M
- فایل را ذخیره و سرویس PHP یا وبسرور را ریاستارت کنید.
مقدار ۶۴ مگابایت صرفاً یک نمونه است؛ آن را متناسب با بزرگترین فایلی که میخواهید آپلود کنید تنظیم کنید. برای پروژههایی که با فایلهای سنگین کار میکنند، دسترسی کامل به تنظیمات PHP روی سرور مجازی این انعطاف را فراهم میکند.
روش سوم: ویرایش فایل .htaccess
اگر سرور شما از Apache یا LiteSpeed استفاده میکند، میتوانید مقادیر را در فایل .htaccess در ریشهٔ سایت اضافه کنید:
php_value upload_max_filesize 64Mphp_value post_max_size 64Mphp_value memory_limit 256M
این خطوط را به بالای فایل اضافه کنید و ذخیره نمایید. توجه داشته باشید که این روش روی سرورهایی که PHP بهصورت CGI اجرا میشود ممکن است خطای داخلی سرور بدهد؛ در آن صورت خطوط را حذف و از روش php.ini یا کنترلپنل استفاده کنید. سرورهای مبتنی بر LiteSpeed که برتینا ارائه میدهد، معمولاً با این روش بهخوبی کار میکنند.
روش چهارم: تنظیم client_max_body_size در Nginx
اگر وبسرور شما Nginx است، حتی با افزایش مقادیر PHP باز هم خطای 413 ادامه مییابد مگر آنکه این مقدار را در Nginx تنظیم کنید:
- فایل پیکربندی Nginx (معمولاً
nginx.confیا فایل مربوط به سایت) را باز کنید. - در بلاک
serverیاhttpخطclient_max_body_size 64M;را اضافه کنید. - پیکربندی را با
nginx -tتست و سپس باnginx -s reloadبارگذاری مجدد کنید.
این تنظیم فقط روی VPS یا سرور اختصاصی که دسترسی root دارید امکانپذیر است. روی هاست اشتراکی این کار برعهدهٔ پشتیبانی است.
روش پنجم: تعریف مقدار در wp-config.php
برای افزایش حافظهٔ PHP مخصوص وردپرس، میتوانید در فایل wp-config.php پیش از خط «همینجا کار را متوقف کن» این خط را اضافه کنید:
define('WP_MEMORY_LIMIT', '256M');
این تنظیم مستقیماً محدودیت 413 را رفع نمیکند اما به وردپرس اجازه میدهد فایلهای بزرگتر را بدون خطای کمبود حافظه پردازش کند و مکمل تنظیمات بالاست.
رفع خطای 413 روی وبسرور LiteSpeed
اگر هاست شما از LiteSpeed استفاده میکند (که بهدلیل سرعت بالا در میان هاستهای وردپرسی محبوب است)، تنظیم محدودیت آپلود کمی متفاوت است. LiteSpeed مقدار حداکثر بدنهٔ درخواست را از طریق پارامتری مشابه client_max_body_size در Nginx کنترل میکند. مراحل کار:
- در کنترلپنل، مقادیر PHP (شامل
upload_max_filesizeوpost_max_size) را افزایش دهید. - مطمئن شوید تنظیم «Max Request Body Size» در پیکربندی LiteSpeed بهاندازهٔ کافی بزرگ است.
- در صورت استفاده از افزونهٔ LiteSpeed Cache، کش را پاک کنید تا تنظیمات جدید اعمال شود.
خوشبختانه بیشتر هاستهای مبتنی بر LiteSpeed این مقادیر را از قبل روی سطح مناسبی تنظیم کردهاند. سرویسهای هاست وردپرس برتینا که روی LiteSpeed اجرا میشوند، معمولاً محدودیت آپلود منطقی دارند و در صورت نیاز، پشتیبانی بهسرعت آن را افزایش میدهد.
بررسی مقدار فعلی حداکثر آپلود
پیش از تغییر، خوب است بدانید سرور شما در حال حاضر چه محدودیتی دارد. سه راه برای بررسی وجود دارد:
- بخش رسانهها: در داشبورد وردپرس به رسانهها ← افزودن بروید؛ زیر کادر آپلود، حداکثر حجم مجاز نمایش داده میشود.
- سلامت سایت: در ابزارها ← سلامت سایت ← اطلاعات ← سرور، مقدار
upload_max_filesizeرا ببینید. - تابع phpinfo: با ساخت یک فایل PHP حاوی
phpinfo()میتوانید تمام مقادیر فعلی و محل فایل php.ini فعال را مشاهده کنید. پس از بررسی، این فایل را حتماً حذف کنید چون اطلاعات حساس سرور را نمایش میدهد.
دانستن مقدار فعلی به شما کمک میکند بفهمید چقدر باید افزایش دهید و آیا تغییرات شما واقعاً اعمال شدهاند یا خیر.
ارتباط خطای 413 با نوع میزبانی
میزان کنترلی که روی این خطا دارید، مستقیماً به نوع سرویس میزبانی شما بستگی دارد:
- هاست اشتراکی: ارائهدهنده سقفهایی برای حفظ پایداری سرور تعیین میکند. شما میتوانید از طریق کنترلپنل تا حدی مقادیر را تغییر دهید، اما سقف نهایی را پشتیبانی مشخص میکند.
- سرور مجازی (VPS): با دسترسی root، کنترل کامل روی php.ini، وبسرور و همهٔ محدودیتها دارید و میتوانید هر مقداری را تنظیم کنید.
- سرور اختصاصی: بالاترین سطح کنترل و منابع؛ مناسب پروژههایی که مدام با فایلهای بسیار حجیم کار میکنند.
اگر مرتباً با محدودیتهای آپلود روی هاست اشتراکی برخورد میکنید و پروژهٔ شما با فایلهای سنگین سروکار دارد، شاید زمان مهاجرت به یک سرور مجازی با کنترل کامل فرا رسیده باشد. سرویسهایی که انتقال رایگان ارائه میدهند، این جابهجایی را بدون دردسر ممکن میکنند.
چکلیست نهایی رفع خطای 413
برای اطمینان از رفع کامل، این ترتیب را دنبال کنید:
- مقادیر
upload_max_filesizeوpost_max_sizeرا افزایش دهید. - مطمئن شوید
post_max_sizeبزرگتر ازupload_max_filesizeاست. - در صورت استفاده از Nginx، مقدار
client_max_body_sizeرا تنظیم کنید. - حافظهٔ PHP را در صورت نیاز افزایش دهید.
- سرویس PHP و وبسرور را ریاستارت کنید.
- در بخش «سلامت سایت» وردپرس، مقدار جدید حداکثر آپلود را تأیید کنید.
اگر روی هاست اشتراکی هستید و پس از این مراحل هنوز خطا برطرف نشد، احتمالاً محدودیت در سطح سرور اعمال شده و باید با پشتیبانی هماهنگ کنید. پشتیبانی ۲۴/۷ فارسی برتینا این تنظیمات را بهسرعت برای شما انجام میدهد.
راهکارهای جایگزین برای آپلود فایلهای بزرگ
گاهی بهجای درگیرشدن با افزایش محدودیتهای سرور، بهتر است روش آپلود را تغییر دهید. این راهکارها بهویژه روی هاست اشتراکی که کنترل کامل ندارید مفیدند:
- آپلود از طریق FTP: برای فایلهای بسیار حجیم مثل قالبهای سنگین یا کتابخانهٔ رسانه، میتوانید فایل را مستقیماً از طریق FTP در پوشهٔ مربوطه بارگذاری کنید که اصلاً درگیر محدودیت 413 نمیشود.
- افزونهٔ آپلود تکهای (Chunked Upload): برخی افزونهها فایل بزرگ را به قطعات کوچک تقسیم میکنند و هر قطعه را جداگانه میفرستند تا از سقف درخواست عبور نکند.
- فشردهسازی تصاویر: اگر مشکل با تصاویر است، پیش از آپلود آنها را بهینه و فشرده کنید؛ این کار هم خطا را رفع میکند و هم سرعت سایت را بالا میبرد.
- استفاده از فضای ابری برای فایلهای سنگین: برای ویدیوها، بهجای آپلود مستقیم، میتوانید آنها را روی سرویسهای تخصصی میزبانی کنید و فقط لینک را در سایت قرار دهید.
این راهکارها در کنار تنظیم صحیح مقادیر سرور، انعطاف بیشتری به شما میدهند. با این حال، برای پروژههای حرفهای که مدام با فایلهای حجیم کار میکنند، داشتن کنترل کامل روی محدودیتهای سرور از طریق یک سرور مجازی راهحل پایدارتری است.
سوالات متداول
تفاوت خطای 413 با محدودیت آپلود وردپرس چیست؟
محدودیت آپلود وردپرس (که در رسانهها میبینید) از تنظیمات PHP میآید، اما خطای 413 مستقیماً از وبسرور صادر میشود. گاهی PHP اجازهٔ آپلود میدهد اما وبسرور بهدلیل client_max_body_size پایین، درخواست را رد میکند. برای رفع کامل باید هر دو لایه را تنظیم کنید.
چه مقداری برای حداکثر آپلود مناسب است؟
بستگی به نیاز شما دارد. برای تصاویر معمولی ۳۲ مگابایت کافی است، اما برای ویدیو یا فایلهای پشتیبان ممکن است به ۲۵۶ مگابایت یا بیشتر نیاز داشته باشید. مقدار را متناسب با بزرگترین فایل و منابع سرور تنظیم کنید.
چرا بعد از تغییر php.ini خطا هنوز هست؟
دو علت رایج: یا سرویس PHP ریاستارت نشده، یا فایل php.ini که ویرایش کردهاید همان فایلی نیست که سایت استفاده میکند. با تابع phpinfo محل فایل فعال را بررسی کنید. همچنین اگر وبسرور Nginx است، تنظیم client_max_body_size را فراموش نکنید.
آیا افزایش این مقادیر برای سرور خطرناک است؟
افزایش معقول مشکلی ندارد، اما مقادیر بسیار بالا میتواند سرور را در برابر آپلودهای سنگین یا سوءاستفاده آسیبپذیر کند. مقدار را فقط تا حدی که نیاز واقعی دارید افزایش دهید و منابع سرور را در نظر بگیرید.
رابطهٔ خطای 413 با سرعت و تجربهٔ کاربری
محدودیت آپلود فقط یک مانع فنی نیست؛ تنظیم درست آن روی تجربهٔ کاربری و مدیریت محتوا هم اثر میگذارد. اگر محدودیت بیشازحد پایین باشد، شما و نویسندگان سایت مدام هنگام بارگذاری تصاویر و فایلها با خطا مواجه میشوید و بهرهوری کاهش مییابد. از سوی دیگر، اگر بیرویه آن را بالا ببرید، ممکن است کاربران فایلهای بسیار سنگین آپلود کنند که هم فضای دیسک را پر میکند و هم سرعت سایت را پایین میآورد. تعادل درست این است که محدودیت را متناسب با نیاز واقعی پروژه تنظیم کنید و در کنار آن، تصاویر را پیش از آپلود بهینه کنید. بهینهسازی رسانهها نهتنها از خطای 413 جلوگیری میکند، بلکه با کاهش حجم صفحات، به بهبود Core Web Vitals و رتبهٔ سایت در گوگل هم کمک میکند. بنابراین مدیریت هوشمندانهٔ آپلود، هم مسئلهای فنی و هم بخشی از استراتژی سئوی سایت شماست.
جمعبندی
خطای 413 Request Entity Too Large یک محدودیت حجم آپلود است که در چند لایه (PHP و وبسرور) کنترل میشود. برای رفع آن باید upload_max_filesize، post_max_size و در صورت استفاده از Nginx مقدار client_max_body_size را افزایش دهید و سپس سرویسها را ریاستارت کنید. روی هاست اشتراکی، سادهترین راه استفاده از کنترلپنل یا هماهنگی با پشتیبانی است؛ روی VPS و سرور اختصاصی، دسترسی کامل به این تنظیمات را دارید. برای تجربهای بدون دردسر، میزبانی روی بستری با منابع کافی و پشتیبانی قوی اهمیت دارد؛ هاست وردپرس برتینا با LiteSpeed، دیسک NVMe، کنترلپنل cPanel و پشتیبانی ۲۴/۷ فارسی، تنظیم این مقادیر را ساده میکند. اگر پروژهٔ شما با فایلهای سنگین و آپلودهای بزرگ سروکار دارد، سرور مجازی با دسترسی root کنترل کامل روی تمام این محدودیتها را در اختیار شما میگذارد.




