PHP पर upload_max_filesize बदलना


84

मैं PHP 5.3.0 का उपयोग कर रहा हूं और कुछ ऐसा सामना करना पड़ा है जो बग हो सकता है (जिस स्थिति में मैं इसकी रिपोर्ट करूंगा) या वह हो सकता है - इसलिए मैं यह सुनिश्चित करने के लिए कह रहा हूं।

इस कोड को चलाते समय:

<?php
ini_set('upload_max_filesize', '10M');
echo ini_get('upload_max_filesize'), ", " , ini_get('post_max_size')

मैं इसके साथ समाप्त होता हूं:

2M, 8M

यह मेरे php.ini के इन उच्चतर सेटिंग के बावजूद है:

upload_max_filesize = 10M
post_max_size = 10M

(केवल एक बार प्राप्त करना)

क्योंकि मान को सेट करने के बाद त्रुटि होती है और साथ ही इसे php.in में सेट किया जा रहा है। मुझे लगता है कि यह एक बग है। क्या कोई भी पुष्टि कर सकता है या मुझे इंगित कर सकता है कि मैं कहां गलत हूं?

अपडेट : ऐसा लगता है कि अपाचे को फिर से शुरू करने से यह तय हो गया है - मैंने हमेशा सोचा था कि अगर आपने php.ini को बदल दिया तो इसे फिर से शुरू करने की आवश्यकता नहीं है।


9
"मैंने हमेशा सोचा था कि अगर आपको php.ini बदल दिया जाए तो इसे फिर से शुरू करने की आवश्यकता नहीं है।" PHP सीएलआई तुरंत परिवर्तनों को उठाता है, क्योंकि यह हर आह्वान के साथ php.ini को पार्स करता है। mod_php parses php.ini एक बार - जब अपाचे शुरू होता है।
फ्रैंक किसान

मुझे हाल ही में यही समस्या थी। upload_max_filesize अपाचे को फिर से शुरू किए बिना प्रभाव में नहीं आएगा। मैं एक PHP 5.2.9 पर हूँ। पुनरारंभ के बाद सब कुछ ठीक काम कर रहा है।
हलुक

पूर्ण अपाचे पुनरारंभ से बचने के लिए, बस "sudo service apache2 reload" का उपयोग करें
user1048839

जवाबों:


68

PHP.ini के बाहर कॉन्फ़िगरेशन मान सेट करने के लिए आप शॉर्टहैंड नोटेशन का उपयोग नहीं कर सकते । मुझे लगता है कि यह खराब मूल्य के साथ सामना होने पर संकलित डिफ़ॉल्ट के रूप में 2 एमबी पर वापस गिर रहा है।

दूसरी ओर, मुझे नहीं लगता कि upload_max_filesizeइसका उपयोग किया जा सकता है ini_set()"आधिकारिक" सूची में कहा गया है कि PHP_INI_PERDIR


10
आप सही सोचते हैं! आप ini_set () का उपयोग करके अपलोड_max_filesize सेट नहीं कर सकते हैं क्योंकि अपलोड_max_filesize एक PHP_INI_PERDIR प्रकार है जिसका अर्थ केवल परिवर्तनशील है: php.ini, .htaccess या httpd .conf के
मार्को डेमायो

2
दरअसल, आप PHP.ini के बाहर शॉर्टहैंड नोटेशन का उपयोग कर सकते हैं; आप इसे .htaccessऔर इसके साथ भी उपयोग कर सकते हैं ini_set। शायद सभी संस्करणों में नहीं, हालांकि।
रक्षक एक

70

क्या आप एक साझा होस्टिंग प्रदाता का उपयोग कर रहे हैं? यह कुछ भी आप को बदलने की कोशिश कर रहे हैं ओवरराइडिंग मास्टर सेटिंग्स हो सकता है। क्या आपने उन्हें अपने .htaccess में जोड़ने की कोशिश की है?

php_value upload_max_filesize 10M
php_value post_max_size 10M

1
नहीं, यह मेरी अपनी मशीन पर अपाचे / पीएचपी का उदाहरण है (जो कि प्रासंगिक होने पर विंडोज है)। मैं उन अपाचे विन्यास में जोड़ने की कोशिश करता हूँ।
रोस

5
अद्यतन: यह इसे प्रभावित करता है (उन्हें 10 में बदलता है) इसलिए यह विधि काम करती है। मैं अभी भी काफी उलझन में हूँ कि यह php.ini में काम क्यों नहीं कर रहा है या ini_set का उपयोग कर रहा है।
रॉस

+1 यह निश्चित रूप से जाने का तरीका है यदि आप php.ini पर नहीं जा सकते हैं - बहुत-बहुत धन्यवाद।
एलेक्स कोपलान

3
ध्यान दें कि यह केवल Apache के साथ काम करता है PHP को मॉड्यूल के रूप में, CGI के रूप में नहीं
क्रिस जू

मैं कहूंगा कि php.iniफ़ाइल तक पहुंच के साथ भी यह पसंदीदा तरीका है । आपको वैश्विक सेटिंग के बजाय आवश्यकता के आधार पर इन अनुमतियों को सेट करने की अनुमति देता है।
ब्रायंट जैक्सन

42

चूंकि मैं सिर्फ एक साझा होस्ट पर इस समस्या में भाग गया था और मैं अपने .htaccess फ़ाइल के मूल्यों को जोड़ने में असमर्थ था, मैंने सोचा कि मैं अपना समाधान साझा करूँगा।

मैंने इसमें मूल्यों के साथ एक आईएनआई फ़ाइल बनाई। इतना ही आसान:

".User.ini" नामक एक फ़ाइल बनाएं और अपने मूल्यों को जोड़ें

upload_max_filesize = 150M
post_max_size = 150M

बूम, समस्या हल।


मेरे लिए काम किया! धन्यवाद!
जस्टिन पुटनी

4
"मुख्य php.ini फ़ाइल के अलावा, PHP प्रत्येक निर्देशिका में INI फ़ाइलों के लिए स्कैन करती है, जो अनुरोधित PHP फ़ाइल की निर्देशिका से शुरू होती है, और वर्तमान दस्तावेज़ रूट तक अपना काम करती है।" php.net/manual/en/configuration.file.per-user.php
तक

1
एक WordPress साइट के साथ महान काम करता है! धन्यवाद!
बदला लेने वाला_बदला

यह महान काम किया क्योंकि मैं इसे करने में असमर्थ हूँ। धन्यवाद दोस्त!
रणनीतिकार

PHP डिफ़ॉल्ट रूप से हर 5 मिनट में user.ini फ़ाइल को फिर से पढ़ें। इसलिए यदि परिणाम तुरंत प्रकट नहीं होता है, तो धैर्य रखें
एंड्री येरेमेन्को

10

मुझे मेरी इंडेक्स.php स्क्रिप्ट के रूप में उसी निर्देशिका में .user.ini फ़ाइल का उपयोग करके काम करने के लिए मिला, जो मेरे ऐप को लोड करता है। यहाँ सामग्री हैं:

upload_max_filesize = "20M"
post_max_size = "25M"

यह हर्को के लिए अनुशंसित समाधान है।


5

यह भी अपाचे विन्यास के साथ नियंत्रित किया जा सकता है। निम्नलिखित की तरह कुछ के लिए httpd.conf और / या .htaccess की जाँच करें:

php_value upload_max_filesize 10M

0

यदि आप किसी स्थानीय सर्वर जैसे wamp या xampp में चल रहे हैं, तो सुनिश्चित करें कि यह php.ini का उपयोग कर रहा है, आपको लगता है कि यह है। ये सर्वर आमतौर पर एक php.ini के लिए डिफ़ॉल्ट होता है जो आपके html डॉक्स फ़ोल्डर में नहीं है।


0

यह समाधान केवल तभी लागू किया जा सकता है जब समस्या वर्डप्रेस इंस्टॉलेशन पर हो!

यदि आपके पास फ़ाइलों को संपादित करने के लिए FTP एक्सेस या बहुत आलसी नहीं है,

आप अधिकतम अपलोड फ़ाइल आकार बढ़ाने के लिए अधिकतम अपलोड फ़ाइल आकार प्लगइन का उपयोग कर सकते हैं ।


0

डिफ़ॉल्ट रूप से, PHP सर्वर पर अधिकतम 2 एमबी फ़ाइल अपलोड करने की अनुमति देता है। लेकिन आप अपनी स्थिति के अनुसार फ़ाइल अपलोड का अधिकतम आकार संशोधित कर सकते हैं। PHP कॉन्फ़िगरेशन फ़ाइल php.ini का उपयोग करके, आप PHP में फ़ाइल अपलोड आकार को बढ़ा या घटा सकते हैं।

सबसे पहले अपने टेक्स्ट एडिटर में php.ini फाइल खोलें। Upload_max_filesize चर खोजें और उस आकार को निर्धारित करें जिसे आप बढ़ाना चाहते हैं।

Post_max_size चर खोजें और उस आकार को निर्धारित करें जिसे आप बढ़ाना चाहते हैं।

post_max_size = 128M

आप इसे यहाँ से देख सकते हैं


-1

यदि आप मक्खी पर ini_set का उपयोग करते हैं तो आपको यहाँ http://php.net/manual/en/ini.core.php मिलेगा ini_set का जानकारी मिलेगी, जैसे कि upload_max_filesize और post_max_size मक्खी पर (PHP_INI_PERDIR) परिवर्तनशील नहीं है।

केवल एक php.ini, .htaccess या vhost config बदलाव इन चरों को बदलते हैं।


-1

मैंने एक ही समस्या का सामना किया है, लेकिन मुझे पता चला है कि ini_set () फ़ंक्शन का उपयोग करके सभी कॉन्फ़िगरेशन सेटिंग्स सेट नहीं की जा सकती हैं, यह जांचें कि कॉन्फ़िगरेशन सेटिंग कहाँ सेट की जा सकती है।


हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.