मेरे पास एक कोड है जिसे मैं कोडइग्निटर फ्रेमवर्क का उपयोग करके PHP5 में लिख रहा हूं।
मैं इसे विंडोज़ (Xampp का उपयोग करके) और उबंटू (मानक अपाचे, PHP, MySQL स्टैक का उपयोग करके) पर चल रहा हूं।
मेरे पास एक फॉर्म है, जो एक्सएमएल लेता है, इसे पार्स करता है (सरल एक्सएमएल का उपयोग करके) और परिणामों को डेटाबेस में पोस्ट करता है।
विंडोज़ पर - कोई समस्या नहीं, इरादे के रूप में काम करता है।
लिनक्स पर - बड़ी समस्या। यह त्रुटियों से बाहर है।
मैंने एक्सएमएल को दो बार चेक किया है, और यह ठीक है।
मैंने एक्सएमएल की एक बड़ी राशि हटा दी, और ऐसा लगता है कि यह ठीक है।
मुझे लगता है कि यह फॉर्म से पोस्ट की जा रही एक्सएमएल स्ट्रिंग के आकार से संबंधित है, लेकिन मुझे यकीन नहीं है। फिर, विंडोज़ पर यह ठीक है - लिनक्स पर, यह त्रुटियों से बाहर है।
फॉर्म में पोस्ट किए गए डेटा का आकार ~ 160k है (हाँ, यह बहुत सारे पाठ है, लेकिन यह स्वचालित है - और अंत में यह लगभग 200k होगा)।
त्रुटि नीचे है।
किसी भी मदद की बहुत सराहना की।
Fatal error: Uncaught exception 'Exception' with message 'String could not be parsed as XML' in /var/www/ci/system/application/controllers/system.php:49 Stack trace: #0 /var/www/ci/system/application/controllers/system.php(49): SimpleXMLElement->__construct('') #1 [internal function]: System->add_system() #2 /var/www/ci/system/codeigniter/CodeIgniter.php(233): call_user_func_array(Array, Array) #3 /var/www/ci/index.php(115): require_once('/var/www/ci/sys...') #4 {main} thrown in /var/www/ci/system/application/controllers/system.php on line 49
लाइन 49 इस तरह दिखता है:
$xml = new SimpleXMLElement($this->input->post('form_systemXML'));
संपादित करें - तय करें
मुद्दा मिला। उबंटू पर सुहोसिन स्थापित है। फ़ाइल /etc/php5/apache2/conf.d/suhosin.ini में, मैंने लाइन suhosin.post.max_value_length = 65000
को सक्षम किया और मान को 195000 में बदल दिया। अपाचे को पुनरारंभ किया गया, और सभी अच्छे। पॉइंटर्स दोस्तों के लिए धन्यवाद।