هنگام نصب یک قالب سنگین، آپلود افزونههای پرحجم یا حتی بارگذاری یک ویدیو باکیفیت در رسانه، حتماً با خطای آزاردهنده «پرونده فرستاده شده بزرگتر از upload_max_filesize در php.ini است» برخورد کردهاید. این خطا باعث میشود که روند توسعه سایت متوقف شود و احتمالا همین شما را به فکر افزایش حجم آپلود وردپرس انداخته است. جالب است بدانید که این محدودیت معمولاً از خود هسته وردپرس اعمال نمیشود، بلکه ریشه در تنظیمات وبسرور و پیکربندیهای PHP (مانند مقادیر upload_max_filesize و post_max_size در هاست) دارد.
در این راهنما از ابر فردوسی یاد میگیریم که چطور با استفاده از ۵ روش قطعی -از راهحلهای ساده و بدون کدنویسی (افزونهها) تا روشهای اصولی و حرفهای تغییر فایلهای پیکربندی هاست (مثل php.ini، .htaccess و functions.php)- این محدودیت را برای همیشه رفع کنیم.
فهرست مطالب
حجم آپلود وردپرس از کجا کنترل میشود؟
راستش را بخواهید، وردپرس در این زمینه همهکاره نیست. وقتی میخواهید فایلی را آپلود کنید، وردپرس بیشتر شبیه به یک واسطه عمل میکند؛ تصمیمگیرنده نهایی، پیکربندی PHP روی سرور یا هاست است. هسته وردپرس برای تعیین سقف مجاز از تابعی به نام wp_max_upload_size استفاده میکند که این تابع مستقیماً مقادیر تنظیمشده در سرور را میخواند.

بنابراین برای تغییر حجم آپلود وردپرس، باید متغیرهای اصلی را در پشت صحنه یعنی تنظیمات PHP دستکاری کنیم. سه متغیر مهم در این میان نقش دارند که مانند یک زنجیره بههم متصل هستند:
- upload_max_filesize: مشخص میکند بزرگترین اندازه مجاز برای آپلود یک فایلِ تَک چقدر است.
- post_max_size: حداکثر حجم کل دادههایی است که در یک درخواست (ارسال فرم یا پست) پذیرفته میشود. ازآنجاکه فایلها هم ازطریق متد POST ارسال میشوند، این مقدار همیشه باید بزرگتر یا مساویِ متغیر قبلی باشد.
- memory_limit: این گزینه سقف حافظه رم (RAM) اختصاصیافته به پردازشهای PHP را مشخص میکند. طبیعی است که این مقدار باید از دو متغیر بالا بزرگتر باشد تا سرور هنگام پردازش فایل آپلودشده کم نیاورد.
چرا گاهی عدد نمایشدادهشده با انتظار ما فرق دارد؟
شاید برای شما هم پیش آمده باشد که در فایلهای تنظیمات، حجم مجاز را روی ۵۱۲ مگابایت گذاشتهاید اما وردپرس همچنان با لجاجت عدد ۸ مگابایت را نشان میدهد! علت این تضاد، قانون ضعیفترین حلقه است.
مستندات رسمی PHP و وردپرس تایید میکنند که حد مجاز آپلود، همیشه برابر با کمترین مقدار در بین سه متغیر بالا است. اگر آپلود فایل را ۵۱۲ مگابایت بگذارید اما post_max_size روی ۸ مگابایت باقی مانده باشد، سقف نهایی شما همان ۸ مگابایت خواهد بود. همچنین در برخی هاستهای اشتراکی، شرکتهای میزبانی یک سقف سختافزاری غیرقابل تغییر روی سرور اعمال میکنند که اجازه بالا رفتن از یک حد مشخص را به شما نمیدهد.
فرمول ریاضی محدودیت سرور:
Maximum Upload Limit = Min(upload_max_filesize, post_max_size, memory_limit)
قبلاز هر کاری، استاندارد سایت خود را پیدا کنید
پیشاز آنکه سراغ تغییر تنظیمات PHP برای وردپرس بروید، باید ببینید متر و معیار فعلی سایت شما چیست و چقدر با ایدهآلِ شما فاصله دارد. برای پیدا کردن این عدد نیازی به کدنویسی ندارید؛ وردپرس خودش این آمار را در دو بخش مختلف به شما نشان میدهد.
۱- ازطریق بخش رسانه (سریع و ساده)
دمدستیترین راه برای دیدن سقف فعلی، رفتن به بخش بارگذاری فایل است:
۱. وارد پیشخوان وردپرس شوید.
۲. از منوی سمت راست روی رسانه > افزودن جدید کلیک کنید.
۳. در پایین کادر رها کردن فایلها، عبارتی مانند «حداکثر حجم پرونده برای بارگذاری: 2MB» را مشاهده خواهید کرد.

۲- ازطریق ابزار سلامت سایت (دقیق و فنی)
اگر میخواهید جزئیات بیشتری از پیکربندی سرور را یکجا ببینید، این مسیر بهترین گزینه است:
۱. در پیشخوان به مسیر ابزارها > سلامت سایت بروید.
۲. تب اطلاعات را انتخاب کنید.
۳. روی بخش مدیریت رسانه یا سرور کلیک کنید تا متغیرهای فعال PHP را با جزییات دقیق تماشا کنید. در این بخش حتی میتوانید نام وبسرور خود (مثلا لایتاسپید یا آپاچی) را هم متوجه شوید که برای مراحل بعدی بسیار حیاتی است.

اگر عددی که در این بخشها میبینید کمتر از نیاز پروژه شما است (مثلاً برای آپلود قالبهای سنگین یا فایلهای ویدیویی به حجم بیشتری نیاز دارید)، وقت آن است که یکی از روشهای عملی در بخشهای بعدی را برای افزایش محدودیت آپلود در وردپرس انتخاب کنید. انتخاب روش مناسب کاملاً بستگی به این دارد که چقدر به پنل هاست یا فایلهای روت سایت خود دسترسی دارید.
روش اول- افزایش حجم آپلود با php.ini
اگر بهدنبال تمیزترین، اصولیترین و استانداردترین راه برای تغییر تنظیمات PHP برای وردپرس هستید، مقصد شما فایل php.ini است. این فایل در واقع مغز متفکر تنظیمات PHP روی سرور شما است و دستوراتی که داخل آن بنویسید، مستقیماً به سرور میگوید چطور با فایلهای آپلودی رفتار کند. برای استفاده از این روش، کافی است مراحل زیر را دنبال کنید:
۱- ازطریق FTP یا مدیریت فایل هاست (File Manager) به پوشه اصلی سایت خود (معمولاً public_html) بروید.
۲- بهدنبال فایلی به نام php.ini بگردید. (اگر وجود ندارد، یک فایل متنی با همین نام بسازید).
۳- قطعه کد زیر را به فایل اضافه کرده یا مقادیر قبلی را ویرایش کنید:
upload_max_filesize = 64M
post_max_size = 64M
memory_limit = 128M
یک چالش رایج در هاستهای اشتراکی
در اکثر هاستهای اشتراکی ایرانی، شما دسترسی مستقیم به فایل روت سرور یا حتی تغییر مستقیم فایل php.ini ندارید. اما نگران نباشید، هاستینگها معمولاً یک راه میانبر برای افزایش حجم آپلود در هاست اشتراکی در اختیارتان میگذارند:
- در cPanel: بهدنبال ابزار MultiPHP INI Editor بگردید. با انتخاب دامنه خود، میتوانید این سه متغیر را با چند کلیک ساده و بدون نیاز به کدنویسی تغییر دهید.
- در پنل DirectAdmin: ابزاری به نام Select PHP Version وجود دارد. کافی است وارد تب Options شوید و مقادیر بالا را به دلخواه خود تغییر دهید تا عملیات رفع محدودیت حجم آپلود وردپرس بهراحتی انجام شود.
روش دوم- افزایش حجم آپلود با .htaccess
اگر وبسرور شما آپاچی (Apache) یا لایتاسپید است و بههردلیلی نتوانستید از روش اول استفاده کنید، فایل .htaccess سنگر بعدی شما است. این فایل وظیفه مدیریت پیکربندی وبسرور را برعهده دارد و میتواند دستورات PHP را هم در سطح پوشه محلی بازنویسی کند.
برای افزایش حجم آپلود در وردپرس ازاینطریق:
- وارد File Manager هاست شوید و به پوشه روت (public_html) بروید.
- فایل .htaccess را پیدا کنید. (این فایل معمولاً پنهان یا Hidden است؛ پس در سیپنل حتماً گزینه Show Hidden Files را فعال کنید).
- کدهای زیر را دقیقاً در انتهای فایل (ترجیحاً بعداز خط # END WordPress) قرار دهید:
php_value upload_max_filesize 64M
php_value post_max_size 64M
php_value memory_limit 128M
چرا این روش روی همه هاستها جواب نمیدهد؟
گاهی اوقات با وجود قرار دادن صحیح کدها، هیچ اتفاقی نمیافتد یا مدام با خطای سرور مواجه میشوید. دلیلش این است که برخی شرکتهای میزبانی وب به دلایل امنیتی، اجازه تغییر کانفیگهای PHP ازطریق فایلهای محلی مثل .htaccess را در سرورهای خود قفل میکنند. در این حالت باید بهسراغ راهحلهای بعدی بروید.
روش سوم- افزایش حجم آپلود با functions.php
اگر دلتان نمیخواهد پایتان را از پیشخوان وردپرس بیرون بگذارید و وارد محیط کاربری هاست شوید، این روش مناسبتان است. در وب فارسی، افزایش حجم آپلود رسانه وردپرس ازطریق فایل توابع یا همان functions.php طرفداران زیادی دارد؛ چون سادهترین راه ممکن است و بدون نیاز به سرک کشیدن به روت هاست، کارتان را راه میاندازد.
برای اجرای این روش، مراحل زیر را طی کنید:
۱- در پیشخوان وردپرس به مسیر نمایش > ویرایشگر پرونده پوسته (Theme File Editor) بروید.
۲- از ستون سمت چپ، فایل توابع پوسته (functions.php) را انتخاب کنید.
۳- کدهای زیر را دقیقاً به انتهای این فایل اضافه کرده و دکمه ذخیره را بزنید:
@ini_set( 'upload_max_size' , '64M' );
@ini_set( 'post_max_size', '64M' );
@ini_set( 'max_execution_time', '300' );
چرا این روش را یک درمان موقتی میدانیم؟
با اینکه این روش به سرعت آب خوردن اجرا میشود، اما دو ایراد فنی بزرگ دارد که باید از آنها آگاه باشید:
- وابستگی شدید به قالب: بهمحض اینکه قالب سایت خود را تغییر دهید یا نسخه جدید قالب فعلی را آپدیت کنید، این کدها کاملاً پاک میشوند و همهچیز به حالت اول برمیگردد.
- بسته بودن دسترسی در هاستینگها: تابع پیاچپیِ @ini_set تلاش میکند تنظیمات سرور را در لحظه اجرا بازنویسی کند؛ اما بسیاری از هاستهای اشتراکی بهدلایل امنیتی این کار را بلاک میکنند و کد شما بیاثر خواهد شد.
روش چهارم- استفاده از افزونه (مسکّن موقتی)
اگر کلاً با کدهای برنامهنویسی قهر هستید و با دیدن چند خط کد ساده هم دستوپایتان را گم میکنید، یک جایگزین وجود دارد: افزایش حجم آپلود وردپرس با افزونه. این روش سادهترین مسیر برای کاربران تازهکار است، اما راستش را بخواهید، همیشه یک راهحل ریشهای و ۱۰۰٪ قطعی نیست.
افزونهها چطور کار میکنند و چرا گاهی بیفایده هستند؟
پلاگینهای این حوزه کار جادویی انجام نمیدهند؛ آنها صرفاً یک رابط گرافیکی ساده هستند که همان کدهای روشهای قبلی را در پسزمینه سایت شما تزریق میکنند.
یک حقیقت فنی را آویزه گوشتان کنید: هیچ افزونهای نمیتواند از سقفی که شرکت هاستینگ روی سرور قرار داده، فراتر برود. اگر هاست شما سقف آپلود را روی ۳۲ مگابایت قفل کرده باشد، حتی اگر در کادر افزونه عدد ۲ گیگابایت را بنویسید، تغییر واقعی اعمال نخواهد شد.
معرفی دو افزونه کاربردی
اگر تصمیم گرفتهاید این راه را تست کنید، از لیست بهترین افزونه افزایش حجم آپلود وردپرس دو مورد را -که در مخزن رسمی هم بسیار محبوب هستند- به شما معرفی میکنیم:
- Tuxedo Big File Uploads: یکی از سبکترین گزینهها که بدون شلوغکاری، به شما اجازه میدهد محدودیت حجم آپلود را بهراحتی تغییر دهید.
- Increase Maximum Upload File Size: کار با این افزونه هم بسیار راحت است؛ کافی است بعداز فعالسازی، حجم دلخواه خود را وارد کنید تا پلاگین برای اعمال آن روی وردپرس تلاش کند.
روش پنجم- افزایش حجم آپلود در وردپرس شبکه (Multisite)
اگر یک وبسایت شبکهای یا همان وردپرس مالتیسایت (Multisite) را مدیریت میکنید، شرایط کمی فرق میکند. در این حالت، حتی اگر تمام روشهای قبلی را موبهمو اجرا کرده و قفلهای سرور را باز کرده باشید، باز هم ممکن است وبسایتهای زیرمجموعه شما با محدودیت آپلود مواجه باشند.
علت این است که در وردپرس شبکه، یک فیلتر یا دسترسی کنترلیِ اضافه در دست مدیر کل شبکه (Super Admin) قرار دارد. مدیر شبکه میتواند برای صرفهجویی در فضای دیسک، سقف مشخصی برای آپلود کاربران زیرمجموعه تعیین کند که این سقف معمولاً بسیار کمتر از ظرفیت واقعی هاست است.
برای تغییر محدودیت آپلود فایل در وردپرس شبکه، مسیر زیر را دنبال کنید:
- وارد پنل مدیریت شبکه وردپرس (Network Admin) شوید.
- از منوی سمت راست، به مسیر تنظیمات (Settings) > تنظیمات شبکه (Network Settings) بروید.
- صفحه را به پایین اسکرول کنید تا به بخش تنظیمات بارگذاری (Upload Settings) برسید.
- در کادر مقابل عبارت حداکثر حجم فایل آپلودی (Max upload file size)، عدد دلخواه خود را وارد کنید و تنظیمات را ذخیره کنید.
هشدار- تلهی کیلوبایت در وردپرس شبکه
بزرگترین و رایجترین اشتباهی که مدیران شبکه مرتکب میشوند، واحد اندازهگیری این بخش است. برخلاف بخشهای دیگر وردپرس و فایلهای هاست که با مگابایت (MB) کار میکنند، در این بخش مقدار حجم باید برمبنای کیلوبایت (KB) وارد شود.
- اشتباه مهلک: اگر در این کادر بنویسید «64» تا حجم آپلود به ۶۴ مگابایت برسد، وردپرس سقف آپلود سایتهای شبکه را روی ۶۴ کیلوبایت قفل میکند! یعنی کاربران شما حتی یک تصویر پروفایل ساده را هم نمیتوانند آپلود کنند.
- محاسبه درست: برای تنظیم روی ۶۴ مگابایت، باید عدد را در ۱۰۲۴ ضرب کنید و بنویسید: 65536.
اگر باز هم مشکل حل نشد چاره چیست؟
گاهی اوقات تمام روشهای بالا را موبهمو و بادقت انجام میدهید، اما وقتی به بخش رسانه وردپرس میروید، آب از آب تکان نخورده و همان رقم ناچیزِ قدیمی جلوی چشمانتان رژه میرود! اگر این اتفاق افتاد باید بدانید مشکل از دستوپاشکسته بودن کدهای شما نیست؛ بلکه به بنبستِ سیاستهای سختگیرانه هاستهای اشتراکی خوردهاید.
در هاستهای اشتراکی، منابع یک سرور فیزیکی بین صدها وبسایت تقسیم میشود. شرکتهای میزبانی برای حفظ ثبات سرور و جلوگیری از مصرف بیرویه منابع توسط یک سایت خاص (مثلاً آپلود فایلهای فوقسنگین که رم و پردازنده سرور را درگیر میکند)، سقف حجم آپلود را در لایه سختافزار یا وبسرور قفل میکنند. در این حالت، هرچقدرهم که در سطح مدیریت وردپرس یا فایلهای محلی تلاش کنید، دیوارهای امنیتی هاستینگ اجازه اعمال تغییر را به شما نخواهند داد.
اگر وبسایت شما بزرگ شده و از قالبها و افزونههای سنگین استفاده میکنید یا مدام با فایلهای رسانهای حجیم (مثل ویدیوها و پادکستها) سرکار دارید، هاست اشتراکی دیگر پاسخگوی نیاز شما نیست. در این نقطه، منطقیترین و حرفهایترین کار، تغییر زیرساخت به سرور مجازی یا همان VPS است. سرور مجازی به شما مالکیت تام و دسترسی روت (Root) میدهد تا بدون هیچ فیلتر محدودکنندهای، هر فایلی را با هر حجمی که پروژه نیاز دارد پیکربندی و آپلود کنید.
برای اینکه دقیقتر با این مفهوم آشنا شوید، پیشنهاد میکنیم مقاله سرور مجازی چیست؟ را مطالعه فرمایید.
شرکت ابر فردوسی با ارائه سرورهای مجازی روی زیرساختهای ابری پیشرفته و با امنیت بالا، این کنترل کامل را در اختیارتان میگذارد تا یکبار برای همیشه با محدودیتهای هاستینگ وداع کنید.
مزایای VPS ابر فردوسی
| ویژگیهای ابر فردوسی | توضیحات و مزیتهای فنی |
|---|---|
| سختافزار پیشرفته | بهرهگیری از سرورهای قدرتمند HPE، پردازندههای پیشرفته Intel Xeon و AMD Epyc همراه با حافظههای پرسرعت NVMe برای تضمین پایداری و پینگ پایین |
| پرداخت براساس مصرف | هزینه سرور بهصورت ساعتی محاسبه میشود؛ یعنی پساز خاموش کردن سرور، هیچ هزینهای بابت پردازنده (CPU) و رم (RAM) پرداخت نمیکنید. |
| بازارچه ابری و نصب خودکار | دانلود و نصب اتوماتیک وبسرورهای محبوب (لایتاسپید، انجینایکس، آپاچی)، کنترلپنلها (سیپنل، دایرکتادمین) و اسکریپتها (وردپرس، داکر، دیتابیس) تنها با یک کلیک |
| مقیاسپذیری آنی (Scalability) | امکان افزایش یا کاهش منابع سختافزاری بهصورت فوری و بدون کوچکترین اختلال در کارکرد سایت شما |
| اتوماسیون با کلید API | قابلیت برنامهریزی سرور برای بکاپگیری خودکار، تغییر دورهای رمزها، صرفهجویی در هزینهها و مدیریت هوشمند ترافیک ورودی |
یک خبر خوب هم برای شروع کار شما داریم؛ ابر فردوسی ۱۰۰ هزار تومان اعتبار هدیه برای تست اولیه در اختیارتان میگذارد تا بتوانید کیفیت، سرعت و پایداری این زیرساخت ابری را کاملاً رایگان و بدون ریسک آزمایش کنید.
جمعبندی
در این مقاله یاد گرفتیم که محدودیت حجم آپلود در وردپرس در حقیقت یک قفل امنیتی روی وبسرور و تنظیمات PHP هاست است و الزاما ربطی به هسته وردپرس شما ندارد. با هم ۵ روش عملی برای افزایش حجم آپلود وردپرس بررسی کردیم؛ مانند تغییر کد در فایلهای php.ini و .htaccess تا راهحلهای سادهتر مثل استفاده از فایل توابع و افزونهها و در نهایت تنظیمات خاص وردپرس شبکه (Multisite). اما همانطورکه دیدیم، اگر هاست اشتراکی شما اجازه تغییر این متغیرها را ندهد، تمام راهها به یک بنبست ختم میشوند. در چنین شرایطی ارتقا به سرور مجازی (VPS) مطمئنترین و حرفهایترین گام برای بهدستگرفتن کنترل کامل سایتتان است.
آیا شما هم به افزایش Max Upload Size وردپرس نیاز پیدا کردهاید؟ کدام یک از این ۵ روش توانست گره کار شما را باز کند؟ اگر سؤالی در خصوص تنظیمات سرور یا وبسرور خود دارید، در بخش نظرات با ما به اشتراک بگذارید تا با هم آن را حل کنیم!
منابع:
WordPress Developer Resources | PHP Manual | Qode Interactive | Namecheap KB | help.seravo
سؤالات متداول
حداکثر حجم آپلود در وردپرس از کجا مشخص میشود؟
حداکثر حجم آپلود معمولاً از تنظیمات سرور و PHP تعیین میشود، نه فقط خود وردپرس. مهمترین مقادیر در این موضوع upload_max_filesize و post_max_size هستند.
چرا وردپرس اجازه آپلود فایل بزرگتر را نمیدهد؟
چون محدودیت فعلی آپلود از مقدار تنظیمشده در هاست یا PHP کمتر است. در این حالت، وردپرس فقط همان سقفی را نشان میدهد که سرور اجازه میدهد.
بهترین روش افزایش حجم آپلود وردپرس چیست؟
اگر به تنظیمات هاست دسترسی دارید، تغییر php.ini معمولاً بهترین و اصولیترین روش است. اگر این دسترسی را ندارید، میتوانید از افزونه یا فایل .htaccess استفاده کنید.
برای افزایش حجم آپلود، فقط تغییر upload_max_filesize کافی است؟
نه، معمولاً باید post_max_size هم متناسب با آن افزایش پیدا کند. در بعضی موارد memory_limit هم باید بررسی شود تا آپلود با خطا مواجه نشود.
چرا بعداز تغییر تنظیمات، هنوز حجم آپلود وردپرس تغییر نکرده است؟
ممکن است تنظیمات را در فایل یا مسیر اشتباه اعمال کرده باشید، یا هاست شما آن تغییر را نادیده بگیرد. گاهی هم نیاز است کش سرور یا PHP-FPM ریست شود.
آیا افزایش حجم آپلود در وردپرس خطر دارد؟
اگر بیشازحد و بدون نیاز واقعی افزایش داده شود، میتواند منابع سرور را بیشتر درگیر کند. بهتر است فقط به اندازهای که نیاز دارید مقدار را بالا ببرید.
آیا افزایش حجم آپلود روی هاست اشتراکی ممکن است؟
بله، اما معمولاً محدودیتهای آن به سیاست هاستینگ وابسته است. در هاست اشتراکی، ممکن است فقط تا یک سقف مشخص بتوانید تنظیمات را تغییر دهید.
اگر دسترسی به هاست نداشته باشم چه کار کنم؟
در این حالت، سادهترین راه استفاده از افزونه یا تماس با پشتیبانی هاست است. اگر این محدودیت دائمی باشد، ارتقای زیرساخت میتواند راهحل مطمئنتری باشد.
آیا میتوان حجم آپلود قالب و افزونه وردپرس را هم افزایش داد؟
بله، همین محدودیت روی آپلود قالب و افزونه هم اثر میگذارد. وقتی سقف آپلود بالا برود، فایلهای بزرگتر هم قابل نصب خواهند بود.
تفاوت افزایش حجم آپلود در وردپرس با افزایش در هاست چیست؟
افزایش در وردپرس بیشتر ظاهر و رفتار سایت را تغییر میدهد، اما محدودیت اصلی معمولاً در سطح هاست یا PHP است. برای حل ریشهای، تنظیمات سرور اهمیت بیشتری دارد.
آیا در وردپرس Multisite هم میشود حجم آپلود را افزایش داد؟
بله، در وردپرس شبکهای این کار از بخش تنظیمات شبکه انجام میشود. فقط باید توجه کنید که مقدار واردشده در Multisite معمولاً براساس KB است.
چرا فایل من کوچک است اما باز هم آپلود نمیشود؟
گاهی مشکل فقط حجم فایل نیست و به نوع فایل، تنظیمات امنیتی سرور یا محدودیتهای PHP مربوط میشود. در این حالت باید پیام خطا و تنظیمات هاست دقیقتر بررسی شوند.
آیا افزایش حجم آپلود با افزونه برای همیشه مناسب است؟
برای سایتهای ساده میتواند راهحل سریع و خوبی باشد، اما برای سایتهای حرفهایتر بهتر است تنظیمات سرور اصلاح شود. افزونه بیشتر راهحل موقت یا سادهسازیشده است.

