2010-11-03 17 views
9

मैं PHP5 का उपयोग कर साझा होस्ट पर WP 3.0.1 चला रहा हूं। मुझे उन फ़ाइलों को अपलोड करने में समस्याएं आ रही हैं जो WP के व्यवस्थापक अनुभाग में मीडिया अपलोडर के माध्यम से थोड़ी बड़ी हैं।वर्डप्रेस: ​​"HTTP त्रुटि।" फ़ाइलें अपलोड करते समय

हर बार जब मैं कुछ मेगाबाइट्स पर एक फ़ाइल अपलोड करने का प्रयास करता हूं, तो यह अपलोड करता है, इसकी क्रंचिंग कहता है, फिर मुझे एक बड़ी लाल "HTTP त्रुटि" देता है। - और कुछ नहीं।

यह केवल उन फ़ाइलों पर होता है जो थोड़ा बड़ा होते हैं - यानि 20 एमबी। एमपी 3 फ़ाइल। एक 5 एमबी फ़ाइल ठीक काम करने लगती है। अजीब अजीब अतीत में हमने बिना किसी समस्या के 40 एमबी फाइलें अपलोड की हैं।

-

ये कदम उठाएँ मैं अब तक कोशिश करते हैं और स्थिति में सुधार करने के लिए लिया गया है:

  1. डबल वृद्धि को अपलोड, पोस्ट सुनिश्चित करने के लिए php.ini की जाँच की और स्मृति आकार काफी अधिक थे।
  2. अपडेट किया गया। Htaccess को सुरक्षा मोड को फ़िल्टर करने के लिए अद्यतन किया गया है जिसे मैंने कहीं और पाया है।
  3. डबल FTP के माध्यम से सभी फाइल अनुमति जाँच सुनिश्चित करने के लिए वे 755 के
  4. मेजबान कहा जाता था - "वे 3 पार्टी लिपियों का समर्थन नहीं करते" (मैं iPower नफरत)
  5. समान आकार के विभिन्न ऑडियो फाइलों के साथ की कोशिश की।
  6. अक्षम सभी प्लग-इन

-

तुम लोग क्या अस्पष्ट कारण हो सकता है के बारे में कोई और अधिक विचार है "HTTP त्रुटि।" मुसीबत?

अग्रिम धन्यवाद।

+0

शायद होस्ट में PHP सेटिंग्स का कुछ परिवर्तन। – You

+0

सुनिश्चित नहीं है कि क्या करना है। पहले से ही उन्हें कॉल करने का प्रयास किया है और वे मदद नहीं करते हैं - और मैंने रूट php.ini को सफलता के बिना बदलने की कोशिश की। –

+0

मैं PHP 3.0 पर वर्डप्रेस 3 और PHP 5.3.6 के साथ इस समस्या को देख रहा हूं, यह एक ही फ़ाइल के साथ ठीक काम करता है। मैंने 5.3.6 सर्वर पर एक साधारण PHP फ़ाइल अपलोडर बनाया है और यह फ़ाइल को ठीक से अपलोड करता है। मुझे लगता है कि यह वर्डप्रेस और नवीनतम PHP के साथ कुछ है। – kel

उत्तर

2

समस्या, जैसा कि आपने पहले से अनुमान लगाया है, आपकी फ़ाइल अपलोड के आकार में है। बस आपको याद दिलाने के लिए, HTTP वास्तव में बड़ी फ़ाइलों को स्थानांतरित करने के लिए नहीं बनाया गया है ... यह कर सकता है, लेकिन हमेशा नहीं, और बहुत अच्छा नहीं। आप किसी ऐसे मुद्दे पर चल रहे हैं जहां आपका होस्ट स्थानांतरण को काट रहा है क्योंकि फ़ाइल बहुत बड़ी है। यह संभवतया कहीं एक सर्वर सेटिंग है जिस पर आपके पास पहुंच नहीं है।

चूंकि "वे तृतीय पक्ष स्क्रिप्ट का समर्थन नहीं करते हैं" मैं अनुमान लगा रहा हूं कि आप एक साझा होस्टिंग वातावरण में हैं, यही कारण है कि कुछ भी करने के बिना आपके सर्वर पर कुछ बदल सकता है। संभावित समाधान:

  1. किसी भिन्न होस्ट
  2. FTP के माध्यम से करने के बजाय वर्डप्रेस के भीतर से एक समर्पित सर्वर
  3. स्थानांतरण अपने बड़े फ़ाइलों का उपयोग करें।
3

अपने WP-कॉन्फ़िग फ़ाइल में इस लाइन रखो:

define('WP_MEMORY_LIMIT', '64M'); 
+0

यह मेरी समस्या हल हो गया, धन्यवाद! –

1

मैं एक ही मुद्दा जब भी मैं मीडिया अपलोड करने का प्रयास किया था, को छोड़कर मैं 124kb से बड़ा फाइलों पर "HTTP त्रुटि" मिल गया है! WP 3.3.1, PHP 5.2।

मैंने अपने मेजबान को बुलाया और उन्होंने 64 एम तक स्मृति बढ़ा दी (इसे wp-config में भी बदल दिया) और अपलोड_लिमिट 8 एमबी (डिफ़ॉल्ट 2 एमबी) था। यह काम नहीं करता था इसलिए मैंने लगभग हर चीज का सहारा लिया, जिससे छेड़छाड़ की गई।किसी अन्य सर्वर पर एक ताजा WP स्थापित करने के लिए WP को पुनर्स्थापित करने के लिए htaccess, लेकिन सबकुछ किसी सर्वर समस्या की ओर इशारा करता है। मैंने मेजबान को फिर से बुलाया और एक अन्य तकनीशियन से बात की जिसने अनुमति HTTP अनुरोध लंबाई सेटिंग में वृद्धि की।

6

हमारे ग्राहकों में से एक, एक ही समस्या थी।

अंततः हमने पाया कि छवियों को अपलोड करते समय "HTTP त्रुटि" शब्द सर्वर पक्ष में बदलाव के कारण हो रहा था। होस्टिंग कॉमनी ने सर्वर की स्थिरता और गति को बढ़ाने के लिए सर्वर में एपीसी को तेज करने का निर्णय लिया। एपीसी तेज़ी से केवल फास्टसीजीआई के साथ काम करना चाहिए और सु के साथ नहीं, इसलिए वे फास्टसीजीआई के रूप में चलाने के लिए PHP सेट करते हैं।

फास्टसीजीआई के रूप में PHP का उपयोग करते समय, यदि आप 128 केबी से बड़ी फ़ाइल अपलोड करने का प्रयास करते हैं, तो "mod_fcgid: HTTP अनुरोध लंबाई 131388 (अब तक) MaxRequestLen (131072)" से अधिक है और 550 आंतरिक सर्वर त्रुटि का कारण बनता है। ऐसा इसलिए होता है क्योंकि MaxRequestLen निर्देश का मान डिफ़ॉल्ट रूप से 131072 बाइट्स (128 केबी) पर सेट होता है। इसे सही करने का एक तरीका (यदि सर्वर Plesk का उपयोग करता है), /etc/httpd/conf.d/fcgid.conf को संपादित करना है और अधिकतम मान पर MaxRequestLen सेट करना है, उदाहरण के लिए 15MB (MaxRequestLen 15728640)। यदि सर्वर सीपीनल का उपयोग करता है, तो यह परिवर्तन सर्वर के WHM के माध्यम से किया जा सकता है।

तो, यदि आप 128 केबी तक छवियां अपलोड कर सकते हैं, तो यह आपकी समस्या का समाधान है।

10

मुझे निगेंक्स और PHP5-FPM (और वर्डप्रेस 4.1) के साथ एक ही समस्या थी।

लक्षण: फ़ाइल (< 5 एमबी, अपेक्षाकृत छोटी) स्थानांतरण के माध्यम से भाग्य है, जैसा कि प्रगति पट्टी द्वारा इंगित किया गया है, जब अचानक आपको HTTP त्रुटि संदेश मिलता है।

भले ही आपने अपने php.ini में upload_max_filesize सेट किया हो, फिर भी आपको post_max_size (कम से कम) की जांच करनी चाहिए। Php5-fpm को पुनरारंभ करना याद रखें।

यह अभी भी काम नहीं करता है, तो अपने nginx.conf फ़ाइल को संपादित (Debian/Ubuntu में यह /etc/nginx/nginx.conf है) और http ब्लॉक में इस जोड़ें:

client_max_body_size 100m; 

फिर पुनः आरंभ nginx।

+0

बहुत बहुत धन्यवाद! जिसने मुझे मदद की! – n0n0bstan

+0

धन्यवाद, यह 'client_max_body_size 100m का उपयोग करने के बाद काम करता है;' बस एक चिंता, क्या यह सुरक्षित है? – StreetCoder

+0

@StreetCoder वर्डप्रेस में अपलोड किए जा सकने वाले फ़ाइल प्रकारों की एक श्वेतसूची है - [upload_mimes] (https://codex.wordpress.org/Plugin_API/Filter_Reference/upload_mimes) फ़िल्टर आपको इसे समायोजित करने की अनुमति देता है। –

1

भावी पाठकों के लिए, खोज के कठिन दिन के बाद बस इस समाधान को ढूंढने में कामयाब रहे।

fcgid.conf फ़ाइल में एक सेटिंग है (मेरे लिए/etc/apache2/mods-enabled में): FcgidMaxRequestLenhttps://httpd.apache.org/mod_fcgid/mod/mod_fcgid.html#fcgidmaxrequestlen

मैंने सेट किया है कि बाइट्स में उचित लंबाई और सब कुछ काम करता है। ऐसा लगता है कि अपाचे ने डिफ़ॉल्ट मूल्य (जो अब 131072 बाइट्स है) पर अपनी सोच बदल दी है:

2.3.6 से पहले, यह 1 जीबी तक डिफॉल्ट हो गया। पिछले संस्करणों के अधिकांश उपयोगकर्ताओं को इस निर्देश का अधिक उचित सीमा निर्धारित करने के लिए उपयोग करना चाहिए।

0

सर्वर शायद डिफ़ॉल्ट लाइब्रेरी के रूप में स्थापित Imagick है, वर्डप्रेस

के लिए एक सुधार के लिए मैं अपने functions.php फ़ाइल में निम्न कोड डाल दिया। यह काम करता हैं!

add_filter('wp_image_editors', 'change_graphic_lib'); 

function change_graphic_lib($array) { 
    return array('WP_Image_Editor_GD', 'WP_Image_Editor_Imagick'); 
} 
+0

कहाँ functions.php स्थित है? – Ampersanda

0

मेरे लिए, "http त्रुटि" समस्या तब आई जब फास्ट सीजीआई मोड में php चल रहा है।

mod_fcgid से "MaxRequestLen" फ़ाइल अपलोड आकार सीमित कर रहा था और वर्डप्रेस "http त्रुटि" फेंक रहा था। (Ubuntu 14 पर apache2.conf)

आप अपने httpd.conf में निम्न कॉन्फ़िगरेशन जोड़ने की जरूरत:

<IfModule mod_fcgid.c> 
    # 20MB 
    MaxRequestLen 20000000 
</IfModule> 
0

मैं के साथ सभी सामान्य रूप से सुझाव दिया php.ini परिवर्तन के साथ-साथ WP-config परिवर्तन करने की कोशिश की कोई भाग्य नहीं। अंततः किसी ने मेरे ब्राउज़र में XHR async-upload.php विवरण देखने का सुझाव दिया और पाया कि हमारी फ़ायरवॉल कुछ कारणों से अपलोड को ट्रोजन (MalAgent.H_9218 विशिष्ट होने के रूप में) फ़्लैग कर रही थी। तो वहां जांचना न भूलें, यह अन्य संभावित अपलोड मुद्दों की पहचान भी कर सकता है।

क्रोम निर्देश: हिट F12 और नेटवर्क टैब और फिर WordPress के साथ एक अपलोड प्रयास करते हैं, यकीन है कि फिल्टर पंक्ति या तो सभी या एक्सएचआर, बाएँ निचले फलक में खोजने के लिए और चयन async-upload.php पर है , दाएं नीचे फलक में पूर्वावलोकन का चयन करें।

-1

हमारी समस्या यह थी कि हमारा लोड बैलेंसर हार्ड डिस्क स्पेस से बाहर हो गया। एक लॉग रोटेशन सेट करना सुनिश्चित करें जो एक अवधि के बाद सबसे पुराने लॉग हटा देता है।

संबंधित मुद्दे