TL;DR
वर्ग MongoClient
विरासती PECL पैकेज mongo का हिस्सा है लेकिन अब अप-टू-डेट mongodb पैकेज का नहीं है।
और चूंकि आपके पास mongodb
. है एक्सटेंशन इंस्टॉल किया गया है, न कि mongo
एक, यही कारण है कि आपको त्रुटि मिल रही है
Fatal error: Class 'MongoClient' not found
MongoDB PHP ड्राइवर github रेपो पर, संस्करण 1.0.0 के बारे में रिलीज़ नोट, डेवलपर्स को MongoDB\Driver\Manager
का उपयोग करने का सुझाव दे रहा है। MongoClient
. के बजाय
हमारे पुराने मोंगो एक्सटेंशन से परिवर्तन
सबसे महत्वपूर्ण बात यह है कि लीगेसी ड्राइवर की MongoClient, MongoDB, और MongoCollection क्लास को MongoDB\Driver\Manager क्लास ने अप्रचलित कर दिया है, जो क्वेरीज़, कमांड्स और राइट ऑपरेशंस को जोड़ने और निष्पादित करने के लिए नया गेटवे है।
तो, यहाँ प्रतिस्थापन वर्ग दस्तावेज़ीकरण और कोड का स्निपेट है जो आपके स्थान पर होना चाहिए:
$m = new MongoDB\Driver\Manager("mongodb://localhost:27017");
जैसा कि दस्तावेज़ीकरण इसे प्रेरित कर रहा है, वर्ग को हटा दिया गया है।
<ब्लॉकक्वॉट>चेतावनी इस वर्ग को परिभाषित करने वाला यह एक्सटेंशन बहिष्कृत है। इसके बजाय, MongoDB एक्सटेंशन का उपयोग किया जाना चाहिए। इस वर्ग के विकल्प में शामिल हैं:
- MongoDB\Driver\Manager
मैंने उनके जीथब रिपोजिटरी रिलीज इतिहास पर जो पढ़ा है, उससे जिस वर्ग का आप उपयोग करने का प्रयास कर रहे हैं, वह mongodb 1.0.0
के संस्करण के बाद से अप्रचलित हो गया है। , इसलिए, संस्करण पर 1.6.0
आप हैं, यह वर्ग dll
. का हिस्सा भी नहीं है अब और।
इसकी पुष्टि उनके जीथब पर इस मुद्दे से होती है
<ब्लॉकक्वॉट>डेरिकर ने 16 अप्रैल को टिप्पणी की
मोंगो क्लाइंट पुराने विरासत चालक से एक वर्ग है और इसे इसमें उपलब्ध नहीं होना चाहिए। नए ड्राइवर में \MongoDB\Driver\Manager है, और साथ में लाइब्रेरी में\MongoDB\Client है।
आपको या तो पुराना लेगेसी एक्सटेंशन (pecl installmongo) इंस्टॉल करना होगा और PHP 5.x का उपयोग करना होगा, या इस नए ड्राइवर क्लास का उपयोग करने के लिए अपने कोड को अपडेट करना होगा क्योंकि PHP 7 के लिए पुराना ड्राइवर उपलब्ध नहीं है। http:// पर एक अपग्रेड गाइड है। mongodb.github.io/mongo-php-library/upgrad-guide/
एक और तरीका, जैसा कि ऊपर उद्धृत MongoDB सदस्य द्वारा सुझाया गया है, इस pecl एक्सटेंशन का उपयोग करना है:https://pecl.php.net/package/mongodb के बजाय https://pecl.php.net/package/mongo लेकिन कृपया यह भी वहां चेतावनी पर ध्यान दें:
<ब्लॉकक्वॉट>इस पैकेज को हटा दिया गया है, लेकिन अभी भी बग और सुरक्षा सुधारों के लिए इसे बनाए रखा गया है।