آخرین بروزرسانی در تاریخ ژوئن 3, 2026 توسط PersiaWebAdmin
آیا هنگام بارگذاری یک فایل حجیم در وردپرس با خطای «حداکثر حجم آپلود: X مگابایت» روبهرو شدهاید؟ یا بدتر، بعد از کلیک روی دکمه بارگذاری، صفحه برای همیشه در حال چرخیدن میماند و در نهایت پیام «آپلود ناموفق» ظاهر میشود؟
محدودیت حجم آپلود فایل یکی از شایعترین موانعی است که مدیران سایتهای وردپرسی با آن برخورد میکنند. اما خبر خوب این است که تقریباً همیشه میتوانید این محدودیت را با چند تغییر ساده در تنظیمات سرور یا خود وردپرس افزایش دهید.
در این مقاله در پرشیا وب ، تمام روشهای افزایش حجم آپلود فایل در وردپرس را از سادهترین راهها برای کاربران مبتدی تا تکنیکهای پیشرفته برای توسعهدهندگان و مدیران سرور، به صورت گامبهگام و با دید کاملاً آموزشی پوشش میدهیم. همچنین نکات فنی و عیبیابیهایی را یاد میگیرید که تضمین میکند تغییرات شما اعمال میشوند و به مشکل نمیخورید.

فهرست آنچه خواهید آموخت
۱. چرا وردپرس حجم آپلود را محدود میکند؟
۲. کدام محدودیتها در آپلود تأثیر دارند؟ (۴ تنظیم حیاتی PHP)
۳. روش تشخیص محدودیت فعلی (بدون حدس و گمان)
۴. روشهای افزایش حجم آپلود — از مبتدی تا پیشرفته
- ۴.۱. استفاده از فایل
.htaccess(سادهترین راه روی هاست اشتراکی) - ۴.۲. ویرایش فایل
php.iniیا.user.ini(روش استاندارد cPanel) - ۴.۳. از طریق
wp-config.php(روش مخصوص وردپرس، اما با محدودیت) - ۴.۴. استفاده از
functions.php(روش برنامهنویسی) - ۴.۵. استفاده از افزونههای رایگان و اختصاصی
- ۴.۶. تغییر تنظیمات در cPanel یا دایرکت ادمین
- ۴.۷. تنظیمات NGINX (برای سرورهای مبتنی بر NGINX)
- ۴.۸. درخواست از پشتیبانی هاست (آخرین راهحل)
۵. افزایش حجم آپلود در وردپرس شبکه (Multisite)
۶. تنظیمات امنیتی: چه حجمی منطقی است و مراقب چه باشیم
۷. عیبیابی: با وجود اعمال تغییرات، محدودیت تغییر نمیکند!
۸. چکلیست نهایی و جمعبندی
۱. چرا وردپرس حجم آپلود را محدود میکند؟
محدودیت حجم آپلود در اصل توسط PHP (زبانی که وردپرس با آن نوشته شده) و وبسرور (Apache/Nginx) اعمال میشود، نه خود هسته وردپرس. این محدودیتها به چند دلیل حیاتی وجود دارند:
- مدیریت منابع سرور: آپلود فایلهای بسیار بزرگ میتواند RAM، CPU و پهنای باند را به سرعت مصرف کند و روی عملکرد سایر کاربران تأثیر بگذارد.
- امنیت: فایلهای عظیم میتوانند به عنوان ابزاری برای حملات DoS (محرومسازی از سرویس) استفاده شوند.
- پایداری سرویس: پردازش فایلهای خیلی بزرگ (مثلاً تصاویر ۵۰ مگاپیکسلی) ممکن است باعث Timeout یا از کار افتادن موقت PHP شود.
بنابراین، قبل از افزایش بیرویه محدودیتها، بهتر است مطمئن شوید واقعاً به آن نیاز دارید. برای یک سایت متوسط وردپرسی، حجم ۳۲ تا ۶۴ مگابایت برای آپلود رسانهها کاملاً کافی است.

۲. کدام محدودیتها در آپلود تأثیر دارند؟ (۴ تنظیم حیاتی PHP)
برای افزایش حجم آپلود، باید به صورت همزمان چند پارامتر PHP را افزایش دهید. در غیر این صورت، ممکن است محدودیت جدید اعمال نشود یا ارورهای عجیبی دریافت کنید. این چهار تنظیم کلیدی عبارتند از:
| تنظیم | توضیح | مقدار پیشنهادی |
|---|---|---|
upload_max_filesize | حداکثر حجم هر فایل مجزا برای آپلود. این همان عددی است که در صفحه آپلود وردپرس میبینید. | 64M |
post_max_size | حداکثر حجم کل دادههای ارسالی در یک درخواست POST (شامل چند فایل و سایر فیلدهای فرم). باید بزرگتر از upload_max_filesize باشد. | 68M |
max_execution_time | مدت زمان مجاز برای اجرای یک اسکریپت PHP (بر حسب ثانیه). آپلود فایلهای بزرگ بیشتر طول میکشد. | 300 |
memory_limit | حداکثر حافظهای که یک اسکریپت PHP میتواند مصرف کند. پردازش و تغییر اندازه تصاویر به حافظه زیادی نیاز دارد. | 256M |
اگر post_max_size کوچکتر از upload_max_filesize باشد، عملاً نمیتوانید فایلی با حجم مجاز آپلود کنید. همچنین اگر max_execution_time خیلی کم باشد، آپلود در نیمه راه متوقف میشود. این زنجیره را همواره در نظر داشته باشید.
پیشنهاد مطالعه : راهنمای جامع و تخصصی حذف متن کپیرایت فوتر در وردپرس
۳. روش تشخیص محدودیت فعلی (بدون حدس و گمان)
قبل از شروع تغییرات، بدانید الان دقیقاً چه محدودیتی دارید.
الف) از طریق پیشخوان وردپرس:
- به رسانه > افزودن جدید بروید.
- در بیشتر سایتها، زیر یا کنار کادر آپلود، جملهای مثل «حداکثر حجم آپلود: ۲ مگابایت» دیده میشود. این عدد از
upload_max_filesizeخوانده میشود.
ب) با یک فایل PHP کوچک:
یک فایل با نام info.php در ریشه سایت خود بسازید و این کد را در آن قرار دهید:
<?php
phpinfo();
?>
سپس به yourdomain.com/info.php بروید و به دنبال مقادیر upload_max_filesize، post_max_size، max_execution_time و memory_limit بگردید. حتماً پس از بررسی، این فایل را حذف کنید چون اطلاعات حساس سرور را نشان میدهد.

ج) از طریق ابزار Site Health وردپرس:
به ابزارها > سلامت سایت بروید و زبانه «اطلاعات» را انتخاب کنید. بخش «سرور» محدودیتهای PHP را نشان میدهد.
پیشنهاد مطالعه : راهنمای رفع خطای “ایجاد اتصال به پایگاه داده” در وردپرس
۴. روشهای افزایش حجم آپلود — از مبتدی تا پیشرفته
۴.۱. استفاده از فایل .htaccess (سادهترین راه روی هاست اشتراکی با Apache)
اگر هاست شما از Apache استفاده میکند (اکثر هاستهای اشتراکی ایران و جهان)، این روش سریعترین و امنترین است.
مراحل:
۱. با استفاده از File Manager هاست یا FTP، به ریشه سایت (پوشهای که wp-config.php در آن است) بروید.
۲. فایل .htaccess را برای ویرایش باز کنید. (اگر فایل وجود ندارد، یک فایل جدید با همین نام بسازید.)
۳. کد زیر را در انتهای فایل اضافه کنید:
php_value upload_max_filesize 64M
php_value post_max_size 68M
php_value max_execution_time 300
php_value memory_limit 256M
۴. فایل را ذخیره کنید و یک بار دیگر محدودیت را چک کنید. اگر کار نکرد، هاست شما ممکن است اجازه تغییر مقادیر PHP از طریق .htaccess را ندهد (برخی هاستهای ابری یا NGINX). در این صورت از روشهای بعدی استفاده کنید.

نکته: برخی هاستها برای فعالسازی تغییرات نیاز دارند که suPHP یا FastCGI در حالت خاصی باشد. اگر خطای ۵۰۰ دریافت کردید، یعنی این روش پشتیبانی نمیشود.
پیشنهاد مطالعه : راهنمای افزایش حافظه وردپرس (رفع خطای Memory Size Error)
۴.۲. ویرایش فایل php.ini یا .user.ini (روش استاندارد cPanel)
اگر به کنترل پنل هاست خود دسترسی دارید، این روش مطمئنتر است.
در cPanel (نسخههای جدید):
- به MultiPHP INI Editor بروید (در بخش Software).
- دامنه خود را انتخاب کنید.
- مقادیر
upload_max_filesize،post_max_size،max_execution_timeوmemory_limitرا تغییر دهید و ذخیره کنید.
به صورت دستی با فایل .user.ini یا php.ini:
- یک فایل به نام
.user.ini(یاphp.ini) در ریشه سایت بسازید. - خطوط زیر را در آن قرار دهید:
upload_max_filesize = 64M
post_max_size = 68M
max_execution_time = 300
memory_limit = 256M
- در برخی هاستها باید فایل
php.iniرا در پوشهwp-adminهم کپی کنید (چون وردپرس از آن مسیر هم ممکن است استفاده کند). - پس از ذخیره، سایت را بررسی کنید. اگر تغییری نکرد، ممکن است هاست تنظیمات را در سطح بالاتری قفل کرده باشد (با پشتیبانی تماس بگیرید).
۴.۳. از طریق wp-config.php (روش مخصوص وردپرس، اما با محدودیت)
فایل wp-config.php در ریشه وردپرس قرار دارد. میتوانید با افزودن کد زیر، حافظه PHP را افزایش دهید و همچنین با یک ترفند، زمان اجرا را بیشتر کنید، ولی نمیتوانید مستقیماً upload_max_filesize را از این فایل تغییر دهید (مگر با تابع ini_set که معمولاً توسط هاستها غیرفعال است). با این حال، افزایش حافظه و زمان اجرا بخشی از معما را حل میکند.
define('WP_MEMORY_LIMIT', '256M');
define('WP_MAX_MEMORY_LIMIT', '256M');
@ini_set('max_execution_time', 300);
@ini_set('post_max_size', '68M');
@ini_set('upload_max_filesize', '64M');
توجه: ini_set برای upload_max_filesize و post_max_size در بسیاری از سرورها کار نمیکند زیرا آنها از نوع PHP_INI_PERDIR هستند و فقط در فایلهای php.ini یا .htaccess قابل تغییرند. اما ضرری ندارد که امتحان کنید.
۴.۴. استفاده از functions.php (روش برنامهنویسی)
مشابه روش قبل، میتوانید کدهایی در functions.php پوسته فرزند خود اضافه کنید، اما باز هم با محدودیت مشابه روبروست:
@ini_set('upload_max_filesize', '64M');
@ini_set('post_max_size', '68M');
@ini_set('memory_limit', '256M');
@ini_set('max_execution_time', 300);
این کد فقط در صورتی کار میکند که هاست شما اجازه ini_set بدهد. معمولاً برای مقادیر memory_limit و max_execution_time جواب میدهد، اما برای upload_max_filesize احتمال موفقیت کم است.
پیشنهاد مطالعه :راهنمای جامع تأمین امنیت وبسایت
۴.۵. استفاده از افزونههای رایگان و اختصاصی
اگر با کدنویسی راحت نیستید، چند افزونه خوب وجود دارند که میتوانند حجم آپلود را افزایش دهند (البته اگر سرور اجازه دهد):
- Increase Max Upload File Size: افزونهای ساده که مستقیماً در صفحه افزونهها مقادیر را نمایش میدهد و با یک کلیک تغییر میدهد.
- WP Max Upload Size: این افزونه اندازههای فعلی را نشان میدهد و به شما اجازه میدهد آنها را از طریق رابط گرافیکی افزایش دهید. همچنین توضیح میدهد که کدام تنظیمات قابل تغییر نیستند.
- Custom Upload Size: گزینههای پیشرفتهتری دارد.
این افزونهها معمولاً سعی میکنند از طریق ini_set یا ویرایش فایلهای تنظیمات عمل کنند. اگر موفق نشدند، پیام خطا نشان میدهند و میتوانید از روشهای دستی استفاده کنید.
۴.۶. تغییر تنظیمات در cPanel یا دایرکت ادمین
در کنترل پنلهای محبوب:
- cPanel > Select PHP Version > Switch to PHP Options: میتوانید مقادیر PHP را مستقیماً از آنجا تنظیم کنید.
- DirectAdmin > PHP Settings: بخشی برای ویرایش فایل
php.iniاختصاصی هر دامنه وجود دارد.
این روشها معمولاً از همه روشهای دیگر قدرتمندترند زیرا تنظیمات در سطح سرور اعمال میشوند.
۴.۷. تنظیمات NGINX (برای سرورهای مبتنی بر NGINX)
اگر هاست شما از Nginx استفاده میکند (مثلاً در هاستهای ابری یا VPS)، کدهای .htaccess کار نمیکنند. باید تنظیمات را در فایل nginx.conf یا بلاک سرور انجام دهید:
client_max_body_size 64M;
همچنین برای PHP-FPM باید در فایل www.conf (یا مشابه) پارامترهای php_admin_value را تنظیم کنید:
php_admin_value[upload_max_filesize] = 64M
php_admin_value[post_max_size] = 68M
php_admin_value[max_execution_time] = 300
php_admin_value[memory_limit] = 256M
سپس PHP-FPM را ریاستارت کنید. این کار معمولاً نیاز به دسترسی روت دارد و اگر سایت شما در هاست اشتراکی نیست، خودتان یا مدیر سرور باید انجام دهید.
۴.۸. درخواست از پشتیبانی هاست (آخرین راهحل)
اگر هیچکدام از روشها جواب نداد، احتمالاً هاست شما تنظیمات PHP را در سطح سرور قفل کرده است. در این صورت، یک تیکت به پشتیبانی ارسال کنید و بخواهید مقادیر upload_max_filesize و post_max_size را برای دامنه شما افزایش دهند. معمولاً پشتیبانی این کار را انجام میدهد.
۵. افزایش حجم آپلود در وردپرس شبکه (Multisite)
در وردپرس چندسایته، یک محدودیت اضافی در شبکه وجود دارد. علاوه بر محدودیتهای PHP، خود وردپرس یک “Max upload file size” در تنظیمات شبکه دارد. برای تغییر آن:
۱. به پیشخوان شبکه > تنظیمات بروید.
۲. به پایین صفحه و بخش “تنظیمات بارگذاری” (Upload Settings) بروید.
۳. فیلد “حداکثر اندازه فایل بارگذاری” (Max upload file size) را به مقدار دلخواه (مثلاً ۶۴۰۰۰ کیلوبایت = ۶۴ مگابایت) تغییر دهید.
۴. ذخیره کنید.
این عدد باید با محدودیتهای PHP هماهنگ باشد؛ اگر عدد بزرگتری وارد کنید، PHP دوباره آن را محدود میکند.
۶. تنظیمات امنیتی: چه حجمی منطقی است و مراقب چه باشیم
- حجمهای نجومی (مثلاً ۱ گیگابایت) را فقط در صورت نیاز واقعی و برای کاربران خاص تنظیم کنید. افزایش بیرویه میتواند سرور را مستعد سوءاستفاده کند.
- اگر نیاز دارید کاربران معمولی فایلهای بزرگ آپلود کنند، بهتر است از سرویسهای ابری (مانند Google Drive یا Dropbox) و اشتراکگذاری لینک استفاده کنید.
- همچنین ممکن است فایروال وب (مانند ModSecurity) یا افزونههای امنیتی، آپلود فایلهای با پسوند خاص یا حجم بالا را مسدود کنند. پس از افزایش محدودیت، حتماً عملکرد را تست کنید.
- حواستان باشد که فضای هاست شما پر نشود! افزایش حجم آپلود بدون مدیریت فضای دیسک میتواند باعث از کار افتادن سایت شود.
۷. عیبیابی: با وجود اعمال تغییرات، محدودیت تغییر نمیکند!
اگر پس از انجام روشهای بالا همچنان محدودیت قبلی را میبینید، این موارد را بررسی کنید:
- کَش (Cache) را خالی کنید: گاهی وردپرس یا مرورگر مقدار قبلی را کش کردهاند. کش وردپرس (افزونه کش) و کش مرورگر را پاک کنید.
- فایل php.ini در جای درستی نیست؟ در برخی هاستها، فایل باید در پوشه
public_htmlباشد نه ریشه دامنه. از پشتیبانی بپرسید. - Suhosin یا محدودیتهای مشابه: برخی هاستها از Suhosin استفاده میکنند که میتواند
upload_max_filesizeرا در سطح پایینتری محدود کند. میتوانید باphpinfo()چک کنید که آیاsuhosin.upload.max_sizeفعال است. - مالکیت فایلها: اگر مجوزها نادرست باشد، PHP ممکن است نتواند فایل را منتقل کند. ارور واقعی را با فعالسازی WP_DEBUG مشاهده کنید.
- محدودیتهای NGINX را فراموش کردهاید: اگر وبسرور Nginx باشد،
client_max_body_sizeنیز باید افزایش یابد وگرنه قبل از رسیدن به PHP، فایل ریجکت میشود. - فایروال CDN: اگر از Cloudflare یا CDN دیگر استفاده میکنید، محدودیت آپلود آنها را نیز بررسی کنید (Cloudflare رایگان تا ۱۰۰MB اجازه میدهد).
- تنظیمات درست در
php.iniنوشته نشده: مثلاً به جایupload_max_filesize = 64Mنوشته باشیدupload_max_filesize 64M(بدون علامت مساوی در برخی نسخهها مشکل ایجاد میکند). از فرمت استاندارد استفاده کنید.
با بررسی این موارد، مشکل ۹۹٪ مواقع حل خواهد شد.
۸. چکلیست نهایی و جمعبندی
برای اطمینان از افزایش موفق حجم آپلود:
✅ مقادیر فعلی را یادداشت کنید (phpinfo() یا Site Health).
✅ upload_max_filesize و post_max_size را همزمان افزایش دهید (post_max_size > upload_max_filesize).
✅ memory_limit را روی ۲۵۶M و max_execution_time را روی ۳۰۰ تنظیم کنید.
✅ روش مناسب هاست خود را انتخاب کنید: .htaccess برای Apache، php.ini یا MultiPHP INI برای cPanel، یا تماس با پشتیبانی.
✅ در صورت استفاده از Nginx، client_max_body_size را تنظیم کنید.
✅ برای وردپرس چندسایته، محدودیت شبکه را هم بهروزرسانی کنید.
✅ کش را کاملاً خالی کنید و دوباره تست کنید.
✅ در صورت نیاز به حجمهای بالای ۱۲۸ مگابایت، زیرساخت سرور و امنیت را بازبینی کنید.
با انجام این مراحل، میتوانید فایلهای حجیم خود را بدون هیچ مشکلی آپلود کنید. اگر همچنان با خطا مواجه شدید، لاگ خطاها را با ما به اشتراک بگذارید تا کمکتان کنیم. حالا نوبت شماست که محدودیتها را کنار بزنید و سایتتان را آزاد کنید!
اگر با هیچ روشی موفق نشدید، با پشتیبانی وبسایت یا هاست خود تماس بگیرید یا پلن هاستینگ خود را ارتقا دهید.
بنیامین ولادوست، بنیانگذار و مدیر تیم تخصصی پرشیا وب، بیش از یک دهه تجربه حرفهای در عرصۀ طراحی وبسایت، سئو، تولید محتوا، فروش رپورتاژ و بکلینک دارد. او با ترکیب دانش فنی و درک عمیق از رفتار کاربران، به برندها و کسبوکارها کمک میکند تا نهتنها ظاهر دیجیتال قدرتمندی داشته باشند، بلکه در نتایج جستجوی گوگل هم بدرخشند.
از سال ۲۰۱۳ فعالیت حرفهای خود را در حوزه طراحی وب آغاز کرد و تاکنون بیش از 300 پروژه طراحی سایت و بهینهسازی سئو در صنایع مختلف اجرا کرده است. تجربه عملی او در پروژههای واقعی، به ویژه در کسبوکارهای ایرانی، موجب شده است بتواند راهکارهایی کاملاً کاربردی و بومی برای رشد آنلاین ارائه دهد.
طراحی و توسعه وبسایتهای شرکتی، فروشگاهی و شخصی با تمرکز بر سرعت، امنیت و تجربه کاربری (UX)
استراتژیهای سئو فنی، on-page و off-page برای افزایش رتبه در نتایج گوگل
تحلیل رقبا، تحقیق کلمات کلیدی و اجرای کمپینهای تولید محتوا
مشاوره و اجرای رپورتاژ آگهی و لینکسازی هدفمند برای بهبود اعتبار دامنه
طراحی کمپینهای دیجیتال مارکتینگ یکپارچه برای برندهای نوپا و فعال
مطالب آموزشی و مقالات سئویی که توسط بنیامین ولادوست در وبلاگ “پرشیا وب” منتشر میشوند، بر پایه جدیدترین الگوریتمهای گوگل و استانداردهای جهانی تدوین شدهاند. او به عنوان متخصص مورد اعتماد در حوزه دیجیتال مارکتینگ، تاکنون در بیش از ۲۰ مجموعه آموزشی و ورکشاپ تخصصی سخنرانی و تدریس داشته است. بسیاری از کسبوکارهای آنلاین موفق، مسیر رشد خود را با آموزشها و راهنماییهای او آغاز کردهاند.
تمام راهکارها و خدماتی که توسط بنیامین ولادوست و تیم “پرشیا وب” ارائه میشوند، بر پایه صداقت، شفافیت و تحلیل دادههای واقعی بنا شدهاند. هدف او ارائه مشاورهای است که نه بر اساس تبلیغات، بلکه بر پایه داده و عملکرد واقعی کسبوکارها باشد.