"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > PHP के साथ SSH पर MySQL से कनेक्ट करते समय mysqli_connect() पैरामीटर समस्या को कैसे ठीक करें?

PHP के साथ SSH पर MySQL से कनेक्ट करते समय mysqli_connect() पैरामीटर समस्या को कैसे ठीक करें?

2024-11-06 को प्रकाशित
ब्राउज़ करें:761

How to Fix mysqli_connect() Parameter Issue When Connecting to MySQL over SSH with PHP?

PHP में SSH पर एक MySQL सर्वर से कनेक्ट करें

PHP फ़ंक्शंस का उपयोग करके SSH के माध्यम से एक दूरस्थ लिनक्स मशीन पर होस्ट किए गए MySQL डेटाबेस से कनेक्शन स्थापित करना चुनौतीपूर्ण हो सकता है। दिए गए कोड का उपयोग करते समय त्रुटि "mysqli_connect() को पैरामीटर 6 स्ट्रिंग, संसाधन दिए जाने की उम्मीद है" हो सकती है।

समस्या को समझना

कोड mysqli_connect() फ़ंक्शन का उपयोग करने का प्रयास करता है SSH सुरंग के माध्यम से डेटाबेस से कनेक्ट करें। हालाँकि, mysqli_connect() फ़ंक्शन छठे पैरामीटर (सुरंग को इंगित करने वाले) के रूप में एक स्ट्रिंग की अपेक्षा करता है, जबकि ssh2_tunnel() फ़ंक्शन एक संसाधन लौटाता है।

SSH टनल के साथ समस्या का समाधान

हल करने के लिए इस समस्या के लिए, अपने MySQL डेटाबेस सर्वर पर एक SSH टनल सेट करें। सुरक्षा संवर्द्धन के लिए जंपबॉक्स प्रॉक्सी का उपयोग करना एक प्रभावी तरीका है। इस दृष्टिकोण में SSH क्लाइंट का उपयोग करके एक स्थानीय पोर्ट फ़ॉरवर्डिंग टनल बनाना शामिल है, जो प्रभावी रूप से आपकी स्थानीय मशीन और डेटाबेस सर्वर के बीच एक सुरक्षित चैनल बनाता है।

चरण-दर-चरण मार्गदर्शिका

का उपयोग करना कमांड लाइन टूल्स (एसएसएच टनल सेटअप):

  1. अपने स्थानीय टर्मिनल से, निम्नलिखित एसएसएच निष्पादित करें आदेश:
ssh -fNg -L 3307:10.3.1.55:3306 [email protected] 
  • '3307' को अपने पसंदीदा स्थानीय पोर्ट नंबर से बदलें।
  • '10.3.1.55:3306' को आईपी से बदलें आपके MySQL डेटाबेस सर्वर का पता और पोर्ट। ]
  • अपनी PHP स्क्रिप्ट में, डेटाबेस कनेक्शन का उपयोग करके स्थापित करें mysqli_connect():

$mysqli = mysqli_connect('127.0.0.1:3307', 'DB_USERNAME', 'DB_PASSWORD', 'dbname');

    एसएसएच सुरंग में निर्दिष्ट स्थानीय पोर्ट नंबर (इस उदाहरण में 3307) का उपयोग करें सेटअप।
$mysqli = mysqli_connect("127.0.0.1:3307", "DB_USERNAME", "DB_PASSWORD", "dbname");
  • SSH टनलिंग समर्थन (जैसे, विज़ुअल स्टूडियो कोड) के साथ GUI MySQL क्लाइंट का उपयोग करना सेटअप प्रक्रिया को सरल बना सकता है .
निजी कुंजी प्रमाणीकरण सुरक्षा बढ़ा सकता है। अपने निजी कुंजी पथ को निर्दिष्ट करने के लिए SSH कमांड में '-i' स्विच का उपयोग करें।

प्रत्यक्ष डेटाबेस एक्सेस कमजोरियों को कम करने के लिए जंपबॉक्स/बैस्टियन होस्ट के माध्यम से टनल ट्रैफ़िक।

विज्ञप्ति वक्तव्य यह लेख यहां पुनर्मुद्रित है: 1729520899 यदि कोई उल्लंघन है, तो कृपया इसे हटाने के लिए स्टडी_गोलंग@163.कॉम से संपर्क करें।
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3