WordPress में Upload Limit कैसे बढ़ाएं (हर Hosting पर)
अपनी मौजूदा WordPress upload limit check करें, फिर उसे अपनी hosting की सही जगह पर बढ़ाएँ: php.ini, .user.ini, .htaccess, cPanel, Nginx या Cloudflare.
WordPress में upload limit बढ़ाने के लिए दो PHP settings, upload_max_filesize और post_max_size, को उस configuration file में बढ़ाएँ जिसे आपकी hosting सच में पढ़ती है। अपने control वाले server पर यह php.ini है, PHP-FPM या FastCGI चलाने वाली ज़्यादातर shared hosting पर .user.ini, .htaccess सिर्फ तब जब Apache PHP को module की तरह चलाता है, या cPanel का MultiPHP INI Editor। अगर आपका server Nginx चलाता है, तो client_max_body_size भी बढ़ाएँ। wp-config.php edit करने से upload limit नहीं बदलेगी।
WordPress max upload size tool एक target size को php.ini (या .user.ini), .htaccess और wp-config.php की matching values में बदल देता है, ताकि आप उन्हें हाथ से type करने की जगह paste कर सकें।
Step 1: अपनी मौजूदा upload limit check करें
कुछ भी बदलने से पहले पता करें कि अभी limit क्या है और कौन-सी setting उसे तय कर रही है।
- Media > Add New. Upload screen पर maximum upload file size दिखता है। यही वह number है जिसे आप बढ़ाना चाहते हैं।
- Tools > Site Health > Info. Media handling को expand करें। Site Health documentation बताती है कि वहाँ क्या दिखता है: post data का allowed max size, uploaded file का max size, और max effective file size, जो इन दोनों में से छोटा होता है। Server section में और PHP values दिखती हैं।


WordPress अपनी limit wp_max_upload_size() में calculate करता है, जो PHP से upload_max_filesize और post_max_size पढ़ता है और छोटी value इस्तेमाल करता है। अगर एक 64M है और दूसरी 8M, तो आपकी limit 8M है।
Step 2: जानें कौन-सी settings मायने रखती हैं
| Setting | यह किसे limit करती है | PHP default | कहाँ बदली जा सकती है |
|---|---|---|---|
upload_max_filesize | Upload होने वाली सबसे बड़ी single file | 2M | php.ini, .user.ini, .htaccess, httpd.conf |
post_max_size | पूरी POST request, file समेत | 8M | php.ini, .user.ini, .htaccess, httpd.conf |
memory_limit | चलते समय PHP कितनी memory इस्तेमाल कर सकता है | 128M | कहीं भी, wp-config.php समेत |
max_execution_time | कोई script कितने seconds चल सकती है | 30 | कहीं भी, wp-config.php समेत |
client_max_body_size (Nginx) | Nginx कितनी बड़ी request body accept करेगा | 1m | सिर्फ Nginx config |
PHP defaults और change modes php.ini directives list से हैं; Nginx default Nginx core module documentation से है। ज़्यादातर hosts PHP के defaults से ऊँची values set करते हैं, इसीलिए अपने असली numbers पढ़ने की जगह Site Health है।
upload_max_filesize और post_max_size वे हैं जिन्हें PHP INI_PERDIR settings कहता है: इन्हें php.ini, .htaccess, httpd.conf या .user.ini में set किया जा सकता है, और कहीं नहीं। memory_limit file size को limit नहीं करती, लेकिन बड़ी images की resized copies बनाने के लिए WordPress को memory चाहिए, इसलिए बड़ा upload पहुँचने के बाद भी memory exhausted error से fail हो सकता है।
Step 3: अपनी hosting के हिसाब से सही जगह पर limit बढ़ाएँ
| आपका setup | कहाँ set करें | Notes |
|---|---|---|
| VPS या dedicated server | वह php.ini जिसे आपका PHP सच में load करता है | बाद में PHP-FPM या Apache restart करें |
| PHP-FPM या FastCGI वाली shared hosting | WordPress root में .user.ini | लागू होने में 5 minutes तक लग सकते हैं |
| PHP module वाला Apache (mod_php) | php_value के साथ .htaccess | PHP-FPM या FastCGI पर 500 error देता है |
| cPanel host | Software > MultiPHP INI Editor | आपके लिए php.ini, .user.ini या .htaccess लिखता है |
| PHP के आगे Nginx | PHP values के साथ client_max_body_size भी | वरना Nginx 413 लौटाता है |
| Managed WordPress host | Host का dashboard या support | कई hosts platform level पर uploads limit करते हैं |
| Cloudflare के पीछे site | Cloudflare की अपनी upload limit | Free और Pro plans पर 100 MB |
php.ini (आपके control वाला server)
पहले load हो रही file ढूँढें। <?php phpinfo(); वाली एक temporary file बनाएँ, उसे browser में खोलें, “Loaded Configuration File” वाली line पढ़ें, फिर file delete कर दें। उस php.ini को edit करें:
upload_max_filesize = 128M
post_max_size = 130M
max_execution_time = 300
फिर PHP restart करें ताकि वह बदलाव पढ़ ले। PHP-FPM में service के नाम में version होता है, जैसे Debian या Ubuntu पर sudo systemctl restart php8.3-fpm। mod_php में Apache restart करें।
.user.ini (ज़्यादातर shared hosting)
PHP .user.ini files सिर्फ तब पढ़ता है जब वह CGI या FastCGI की तरह चलता है, जिसमें PHP-FPM भी शामिल है। उस folder में .user.ini बनाएँ या edit करें जिसमें wp-config.php है:
upload_max_filesize = 128M
post_max_size = 130M
PHP इन files को हर user_ini.cache_ttl seconds में दोबारा पढ़ता है, जिसका default 300 है। यह मानने से पहले कि यह काम नहीं किया, पाँच minutes रुकें, या हो सके तो PHP-FPM restart करें।
.htaccess (सिर्फ mod_php वाला Apache)
php_value upload_max_filesize 128M
php_value post_max_size 130M
PHP manual इन directives को Apache module की तरह चलने वाले PHP के लिए बताता है। अगर save करते ही आपकी site 500 Internal Server Error दिखाती है, तो PHP FastCGI या PHP-FPM की तरह चल रहा है। ये lines हटाएँ और उनकी जगह .user.ini इस्तेमाल करें।
cPanel MultiPHP INI Editor
cPanel में Software > MultiPHP INI Editor खोलें, अपना domain चुनें और Basic Mode में values बदलें। cPanel documentation के अनुसार Basic Mode php.ini, .user.ini और .htaccess files में वहाँ save करता है जहाँ हर file उस setting को support करती है, इसलिए आपको यह जानने की ज़रूरत नहीं कि आपका server कौन-सी file इस्तेमाल करता है।
Nginx
Nginx request का size PHP के देखने से पहले check करता है। जब कोई request client_max_body_size से बड़ी होती है, तो Nginx 413 Request Entity Too Large लौटाता है। Default 1m है। अपने server block में कम से कम post_max_size जितनी value जोड़ें:
client_max_body_size 130M;
sudo nginx -t && sudo systemctl reload nginx से test और reload करें। Apache पर इसी तरह की setting LimitRequestBody है, जिसे normal WordPress hosting पर शायद ही बदलना पड़ता है।
Managed hosts और Cloudflare
कुछ managed WordPress hosts आपकी php.ini या .user.ini को ignore करते हैं और पूरे platform के लिए limit set करते हैं। अगर बदलाव के बाद भी Site Health पुराना number दिखाता है, तो अपने host से पूछें कि maximum क्या है और क्या वे इसे बढ़ा सकते हैं।
अगर site Cloudflare से होकर चलती है, तो Cloudflare की अपनी limit है। इसकी cache documentation में maximum upload sizes Free और Pro plans पर 100 MB, Business पर 200 MB और Enterprise पर 5 GB तक बताए गए हैं। कोई भी PHP setting इसे पार नहीं कर सकती।
wp-config.php क्यों काम नहीं करता
कई articles wp-config.php में यह जोड़ने की सलाह देते हैं:
@ini_set( 'upload_max_filesize', '128M' );
@ini_set( 'post_max_size', '130M' );
दोनों settings INI_PERDIR हैं, और PHP की documentation कहती है कि इस mode की settings ini_set() से set नहीं की जा सकतीं। @ failure को छिपा देता है, इसलिए lines बेकसूर दिखती हैं और कुछ नहीं बदलतीं। wp-config.php जो बदल सकता है वह memory है, क्योंकि memory_limit कहीं भी set की जा सकती है:
define( 'WP_MEMORY_LIMIT', '256M' );
यह तब मदद करता है जब बड़ी images processing के दौरान fail होती हैं। यह maximum upload file size नहीं बदलता।
Step 4: बदलाव confirm करें
Media > Add New reload करें और check करें कि maximum upload file size आपकी नई value दिखा रहा है। अगर नहीं:
- Check करें कि
post_max_sizeकम से कमupload_max_filesizeजितना है। WordPress छोटी value इस्तेमाल करता है। - पक्का करें कि आपने वही file edit की जिसे PHP सच में load करता है। गलत folder में रखी
php.iniignore हो जाती है। .user.iniबदलाव के लिए पाँच minutes रुकें, या PHP-FPM restart करें।- अगर WordPress में number बदल गया लेकिन uploads अब भी 413 के साथ fail होते हैं, तो रुकावट Nginx, आपके host के proxy या Cloudflare में है।
- अगर upload WordPress तक पहुँचता है और फिर “HTTP error” के साथ fail होता है, तो अब size समस्या नहीं है। WordPress में image upload पर HTTP error वाली हमारी guide इसके आम कारण बताती है।
Limit कितनी रखनी चाहिए?
इसे उस सबसे बड़ी file के हिसाब से रखें जिसे आपको सच में upload करना है, थोड़ी extra जगह के साथ, और post_max_size को upload_max_filesize से थोड़ा ऊपर रखें। बड़े uploads में समय भी ज़्यादा लगता है, इसलिए अगर slow connections पर बड़ी files time out होती हैं तो max_execution_time बढ़ाएँ। लंबे videos या backup archives जैसी बहुत बड़ी files के लिए SFTP से या chunked upload plugin से upload करना आमतौर पर एक बहुत बड़े browser upload से ज़्यादा भरोसेमंद है, और Cloudflare plan की limit वैसे भी browser वाला रास्ता बंद कर सकती है।
जब आपको अपना target पता हो, तो max upload size tool आपके लिए matching PHP lines लिख देता है। अगर आपका server Nginx चलाता है, तो इस guide की Nginx line खुद जोड़ें।
FAQ
सवाल
WordPress में अपनी मौजूदा upload limit कैसे check करें?
Media > Add New पर जाएँ। Upload screen पर maximum upload file size दिखता है। इसके पीछे की details के लिए Tools > Site Health > Info खोलें और Media handling को expand करें, जिसमें uploaded file का max size, post data का max size और max effective file size दिखता है, जो इन दोनों में से छोटा होता है।
WordPress क्यों कहता है कि uploaded file php.ini के upload_max_filesize directive से बड़ी है?
File PHP की upload_max_filesize setting से बड़ी है। यह limit WordPress set नहीं करता, वह इसे PHP से पढ़ता है। upload_max_filesize और post_max_size को एक साथ php.ini, .user.ini में या mod_php वाले Apache पर .htaccess में बढ़ाएँ। PHP का अपना default upload_max_filesize सिर्फ 2M है, हालाँकि ज़्यादातर hosts इससे ऊँची value set करते हैं।
क्या मैं wp-config.php से upload limit बढ़ा सकता हूँ?
नहीं। upload_max_filesize और post_max_size PHP_INI_PERDIR settings हैं, जिन्हें PHP सिर्फ php.ini, .htaccess, httpd.conf या .user.ini से मानता है। wp-config.php में ini_set() वाली line बिना error के चलती है और कुछ नहीं बदलती। wp-config.php WordPress की memory limit बढ़ा सकता है, लेकिन file size को memory limit नहीं करती।
PHP limits बढ़ाने के बाद भी मुझे 413 Request Entity Too Large क्यों मिल रहा है?
PHP के आगे की कोई चीज़ request को reject कर रही है। Nginx पर यह client_max_body_size है, जिसका default 1m है और इससे ज़्यादा होने पर 413 error आता है। इसे server block में बढ़ाएँ और Nginx reload करें। अगर आपकी site Cloudflare से होकर चलती है, तो आपके plan की upload size limit भी request को server तक पहुँचने से पहले रोक सकती है।
क्या post_max_size को upload_max_filesize से बड़ा होना चाहिए?
यह कम से कम उतना ही होना चाहिए, और थोड़ा बड़ा रखना ज़्यादा सुरक्षित है। File एक POST request के अंदर बाकी form data के साथ भेजी जाती है, इसलिए पूरी request post_max_size में गिनी जाती है। WordPress दोनों में से छोटी value को upload limit मानता है, इसलिए सिर्फ upload_max_filesize बढ़ाने से limit जहाँ थी वहीं रहती है।