अपना PHP अपलोड अधिकतम आकार बदलें।
क्या आप जानते हैं कि आपकी php.ini फ़ाइल कहाँ है?
सबसे पहले, इस फ़ाइल को अपने वेब रूट में डालने का प्रयास करें:
phpinfo.php
(देखें http://php.net/manual/en/function.phpinfo.php )
युक्त:
<?php
phpinfo();
?>
फिर http://www.yoursite.com/phpinfo.php पर नेविगेट करें।
"php.ini" खोजें।
बड़ी फ़ाइलें अपलोड करने के लिए आपको max_execution_time, post_max_size, upload_max_filesize
की आवश्यकता होती हैसाथ ही, क्या आप जानते हैं कि आपकी error.log फ़ाइल कहाँ है? उम्मीद है कि इससे आपको पता चल जाएगा कि क्या गलत हो रहा है।
संपादित करें:
यहाँ वह क्वेरी है जिसका उपयोग मैं फ़ाइल आयात के लिए करता हूँ:
$query = "LOAD DATA LOCAL INFILE '$file_name' INTO TABLE `$table_name` FIELDS TERMINATED BY ',' OPTIONALLY
ENCLOSED BY '\"' LINES TERMINATED BY '$nl'";
जहां $file_name php वैश्विक चर $_FILES से अस्थायी फ़ाइल नाम है, $table_name वह तालिका है जो पहले से ही आयात के लिए तैयार है, और $nl csv लाइन एंडिंग्स के लिए एक वैरिएबल है (विंडोज़ लाइन एंडिंग्स के लिए डिफ़ॉल्ट लेकिन मेरे पास linux लाइन का चयन करने का विकल्प है अंत)।
दूसरी बात यह है कि मेरी स्क्रिप्ट में तालिका ($table_name) कॉलम प्रकारों को निर्धारित करने के लिए पहले सीएसवी को स्कैन करके अग्रिम रूप से तैयार की जाती है। उपयुक्त कॉलम प्रकार निर्धारित करने के बाद, यह डेटा प्राप्त करने के लिए MySQL तालिका बनाता है।
मेरा सुझाव है कि आप फ़ाइल में क्या है (डेटा प्रकार, वर्ण लंबाई, आदि) से मेल खाने के लिए पहले MySQL तालिका परिभाषा बनाने का प्रयास करें। फिर उपरोक्त क्वेरी को आज़माएं और देखें कि यह कितनी तेजी से चलती है। मुझे नहीं पता कि MySQL तालिका परिभाषा की गति कितनी महत्वपूर्ण है।
साथ ही, डेटा लोड होने के बाद तक मेरे पास तालिका में परिभाषित कोई अनुक्रमणिका नहीं है। इंडेक्स डेटा लोडिंग को धीमा कर देते हैं।