خیلی وقتها وقتی میخوای تو وردپرس یک فایل بزرگ، مثل قالب یا ویدئو یا عکس با کیفیت بالا آپلود کنی، ناگهان با پیغام خطای upload_max_filesize روبهرو میشی و نمیدونی چرا درست کار نمیکنه. نگران نباش! در این مقاله از سایت رامون طالع ، قدمبهقدم با هم بررسی میکنیم که این خطا چیه، چرا رخ میده و چه راههای سادهای برای رفعش وجود داره.
عنوان های این مقاله
چرا اصلاً این اتفاق میافتد؟
در وردپرس و اساساً PHP، یه سری محدودیت تعریف شده تا سرور خسته نشه و امنیت بالا بمونه. یکی از این محدودیتها، حداکثر حجمی هست که میتونی آپلود کنی همون upload_max_filesize. وقتی فایلت از این عدد بزرگتر باشه، PHP اجازه ادامه نمیده و بهجاش پیغام خطا میده:
The uploaded file exceeds the upload_max_filesize directive in php.ini
در نتیجه، وردپرس نمیتونه فایل رو دریافت کنه و شما خطای upload_max_filesize رو میبینی.
راههای درست شدن خطای upload_max_filesize

برای رفع خطای upload_max_filesize چهار روش اصلی وجود داره که در ادامه به توضیح هر کدوم میپردازیم:
توضیح کوتاه:
این روشها بسته به نوع دسترسی شما به هاست یا سرور متفاوت عمل میکنن. اول ببین چه دسترسیهایی داری، بعد مناسبترین روش رو انتخاب کن.
ویرایش فایل .htaccess
وقتیهاست شما از وبسرور آپاچی (Apache) استفاده میکند، امکان این وجود دارد که با ویرایش فایل .htaccess
در پوشه اصلی وردپرس، محدودیتهای PHP را برای آپلود تنظیم کنید. برای این کار ابتدا با FTP یا از طریق کنترل پنل هاست وارد فولدر ریشه سایت شوید، جایی که فایلهای wp-config.php
و index.php
قرار دارند. فایل .htaccess
را با ویرایشگر متن باز کرده و در انتهای آن خطوط زیر را اضافه کنید:
php_value upload_max_filesize 64M
php_value post_max_size 64M
php_value max_execution_time 300
php_value max_input_time 300
با این تنظیمات، شما مقدار مجاز برای آپلود فایل را به ۶۴ مگابایت افزایش میدهید و به PHP میگویید که برای پردازش درخواستهای پست و اجرای اسکریپتها زمان بیشتری اختصاص دهد. سپس فایل را ذخیره کرده و صفحه مدیریت وردپرس را رفرش کنید. اگر پس از این کار با خطای Internal Server Error (۵۰۰) مواجه شدید، سریعاً این کدها را پاک کنید؛ زیرا برخی سرویسدهندهها اجازه دستورهای php_value
در .htaccess
را نمیدهند. اما در صورت موفقیت، دیگر با خطای upload_max_filesize مواجه نمیشوید و میتوانید بدون مشکل فایلهای بزرگ را آپلود کنید.

ویرایش فایل wp-config.php
اگر به هر دلیلی دسترسی یا مجوز ویرایش .htaccess
را ندارید، سادهترین راه بعدی تغییر مستقیم تنظیمات PHP با تابع ini_set
در فایل پیکربندی وردپرس است. برای این کار وارد پنل FTP یا فایل منیجر هاست شوید و فایل wp-config.php
را باز کنید. درست بالای خطی که نوشته شده:
/* That's all, stop editing! Happy blogging. */
کد زیر را اضافه کنید:
@ini_set( 'upload_max_filesize' , '64M' );
@ini_set( 'post_max_size', '64M' );
@ini_set( 'max_execution_time', '300' );
@ini_set( 'max_input_time', '300' );
با این تغییر، به PHP میگویید که حین اجرای وردپرس، این پارامترها را تنظیم کند. در بیشتر موارد نیازی به ریاستارت سرور یا پاکسازی کش نیست و تغییرات بلافاصله اعمال میشوند. اگرچه برخی سرویسها این تابع را غیرفعال میکنند، اما معمولاً در هاستهای اشتراکی و مدیریتشده وردپرس، این روش بدون مشکل کار میکند و به سرعت خطای upload_max_filesize را از بین میبرد.
استفاده از افزونه افزایش حجم آپلود
برای کاربرانی که با ویرایش فایل راحت نیستند یا دسترسی فنی محدودی دارند، افزونهها جایگزین بسیار خوبیاند. چندین افزونه در مخزن وردپرس وجود دارد که میتوانند حجم آپلود فایل را بدون یک خط کد افزایش دهند. یکی از محبوبترین آنها Increase Maximum Upload File Size است. پس از نصب و فعالسازی افزونه، به صفحه تنظیمات آن بروید. معمولاً یک اسلایدر یا فیلد عددی خواهید دید که میتوانید مقدار مورد نظر (مثلاً ۶۴M، ۱۲۸M یا بیشتر) را وارد کنید.
سپس تغییرات را ذخیره کنید. افزونه با اجرای همان دستورات ini_set
یا تغییر موقت php.ini
در سطح وردپرس، محدودیت مجاز آپلود را افزایش میدهد. مزیت این روش این است که بدون دخالت مستقیم در فایلهای سرور انجام میشود و ریسک کاهش سرعت یا بروز خطاهای سروری به حداقل میرسد. تنها نقطه ضعف احتمالی، نصب یک افزونه اضافی است که بار کمی بر سایت تحمیل میکند، اما عملاً تأثیر قابلتوجهی روی عملکرد ندارد.
ویرایش مستقیم php.ini
یا تماس با پشتیبانی هاست
در مواقعی که به کنترل کامل سرور دسترسی دارید (مثلاً در VPS یا سرور اختصاصی) یا از طریق پنل مدیریتی هاست (مانند cPanel، Plesk یا DirectAdmin)، میتوانید فایل php.ini
را مستقیماً ویرایش کنید. در این فایل خطوط زیر را پیدا کرده یا در صورت نبود، اضافه نمایید:
upload_max_filesize = 64M
post_max_size = 64M
max_execution_time = 300
max_input_time = 300
پس از ذخیره تغییرات، معمولاً نیاز است سرویس PHP یا وبسرور را ریاستارت کنید تا تنظیمات جدید بارگذاری گردد. اگر در هاست اشتراکی هستید و به php.ini
دسترسی ندارید، کافی است یک تیکت کوتاه به تیم پشتیبانی ارسال کنید و این مقادیر را درخواست کنید. معمولاً کافی است بنویسید:
«لطفاً upload_max_filesize را به ۶۴M افزایش دهید.»
تیم پشتیبانی در کمتر از چند دقیقه این تغییر را اعمال میکند. مزیت این روش پایدار بودن آن تا سطح کل سرور است؛ اما ممکن است در محیطهای اشتراکی نیاز به هماهنگی با پشتیبانی داشته باشید.
اگر هیچکدام از روشها جواب نداد چه کنیم؟
گاهی اوقات ممکن است با وجود انجام همه مراحل بالا، باز هم خطای upload_max_filesize برطرف نشود. در این حالت بهترین کار این است که با پشتیبانی هاست تماس بگیرید و از آنها بخواهید مقدار upload_max_filesize
را افزایش دهند.
🎯 کافیست به پشتیبانی بگویید:

“لطفاً مقدار upload_max_filesize را به 64M (یا هر مقدار که میخواهید) افزایش دهید تا بتوانم فایلهای بزرگ را آپلود کنم.”
پشتیبانیها معمولاً در چند دقیقه این کار را برای شما انجام میدهند.
نتیجهگیری
خب، حالا دیگه میدونی خطای upload_max_filesize چیه و چطور میتونی با چهار روش ساده ویرایش .htaccess
، wp-config.php
، استفاده از افزونه یا تغییر در php.ini
اون رو رفع کنی. کافیه مناسبترین روش رو برای دسترسیهات انتخاب کنی و بدون دردسر فایلهای حجیم رو آپلود کنی.
سوالات متداول
چطور بدون مشکل در المنتور فایلهای بزرگ را آپلود کنم؟
برای رفع خطای upload_max_filesize در المنتور، ابتدا باید محدودیتهای PHP را افزایش دهید. بهترین روش این است که یکی از چهار روش معرفیشده (ویرایش .htaccess
، تغییر در wp-config.php
، استفاده از افزونه یا ویرایش php.ini
) را روی سایت اعمال کنید. پس از افزایش مقدار upload_max_filesize و post_max_size، المنتور بهصورت خودکار از همان تنظیمات php وردپرس استفاده میکند و دیگر هنگام آپلود فایل بزرگتر با خطا مواجه نخواهید شد. یادتان باشد که بعد از اعمال تغییرات، یکبار صفحه ویرایش المنتور را رفرش و کش مرورگر را پاک کنید تا مقدار جدید بارگذاری شود.
مقدار مناسب برای upload_max_filesize چقدر است؟
مقدار پیشفرض بسیاری از هاستها ۲ مگابایت یا ۸ مگابایت است که برای فایلهای کوچک کافی است، اما برای فایلهای با کیفیت بالای تصویری یا قالب ویدیویی باید مقدار را افزایش دهید. معمولاً تنظیم ۶۴M تا ۱۰۰M برای اکثر کاربردها کفایت میکند. اگر بخواهید فایلهای بکآپ یا ویدئوهای حجیم را مدیریت کنید، میتوانید ۱۲۸M یا حتی ۲۵۶M در نظر بگیرید. اما مراقب باشید که مقدار خیلی بالا میتواند مصرف منابع سرور را زیاد کند؛ بنابراین همیشه بین نیاز واقعی و پایداری سرور برقرار کنید.
پس از اعمال تنظیمات هنوز خطای upload_max_filesize را میبینم، چه کاری انجام دهم؟
اول از همه کش مرورگر و کش افزونههای کشینگ مثل W3 Total Cache یا WP Super Cache را پاک کنید. سپس یک بار خارج و دوباره وارد پنل مدیریت وردپرس شوید. اگر هنوز مشکل پابرجاست، بررسی کنید که دستورات php_value
در .htaccess
بهدرستی نوشته شده باشند و بدون فاصله یا اشتباه باشند. در روش wp-config.php
نیز مطمئن شوید کدها قبل از خط «That’s all, stop editing!» قرار دارند. در نهایت اگر همه این روشها را امتحان کردید و هنوز خطا هست، با پشتیبانی هاست تماس بگیرید تا مطمئن شوید محدودیت روی سرور مرکزی افزایش یافته است.
آیا نصب افزونه برای افزایش حجم آپلود روی سرعت سایت تأثیر منفی دارد؟
افزونههای افزایش حجم آپلود معمولاً بسیار سبک هستند و تنها در زمان بارگذاری تنظیمات ini_set
را اجرا میکنند. بنابراین تأثیر قابلتوجهی روی سرعت سایت ندارند. با این حال، اگر تعداد افزونهها در سایت زیاد باشد، بهصورت کلی ممکن است کمی سربار اضافه ایجاد شود. پیشنهاد میکنیم هر افزونهای را که نیاز ندارید غیرفعال یا حذف کنید و فقط افزونههای ضروری را نگهدارید تا حداکثر کارایی را داشته باشید.
آیا بهتر است همیشه حجم آپلود را بالا نگه داریم یا فقط موقع نیاز تغییر دهیم؟
بهترین روش این است که بر اساس نیاز واقعی حجم آپلود را تنظیم کنید. نگهداشتن مقدار بسیار بالا بهطور دائم ممکن است باعث شود کاربران یا اسکریپتهای مخرب فایلهای خیلی حجیم را آپلود کنند و مصرف منابع سرور بالا رود. بنابراین برای کاربردهای روزمره عدد معقول (مثلاً ۶۴M) کافی است و هر زمان نیاز بود (مثل آپلود بکآپ یا ویدئو) میتوانید آن را بهصورت موقت افزایش دهید و بعد دوباره کاهش دهید.