2015-01-12 5 views
8

से इनकार कर दिया है मुझे आश्चर्य है कि मुझे पहले से ही स्टैक ओवरव्लो के माध्यम से एक अच्छा उत्तर खोजने में सक्षम नहीं था।PHP चेतावनी: mysqli_connect(): (HY000/2002): कनेक्शन ने

मैं PHP5.5 और एमएएमपी का उपयोग कर रहा हूं (here से डाउनलोड किया गया)।

मैं इस तरह एक बुनियादी स्क्रिप्ट है:

<?php 
$servername = "127.0.0.1"; 
$username = "root"; 
$password = "root"; 

// Create connection 
$conn = mysqli_connect($servername, $username, $password); 

// Check connection 
if (!$conn) { 
    die("Connection failed: " . mysqli_connect_error()); 
} 
echo "Connected successfully"; 
?> 

और मैं इस त्रुटि मिलती है जब मैं इस स्क्रिप्ट को चलाने:

PHP Warning: mysqli_connect(): (HY000/2002): Connection refused in /Applications/MAMP/htdocs/test/test.php on line 7 

वहाँ कुछ विन्यास मुद्दा यह है कि मैं MAMP भीतर सेट करने की आवश्यकता है या PHP?

+0

क्या आप करने के लिए 'स्थानीय होस्ट' सर्वर नाम परिवर्तित करते हैं? क्या आपके प्रमाण पत्र सही हैं? बंदरगाह? –

+0

मैंने 'लोकलहोस्ट ',' 127.0.0.1' और' रूट 'और खाली स्ट्रिंग के पासवर्ड के सभी संयोजनों का प्रयास किया। जब मैंने इसे पहले डाउनलोड किया था तो क्रेडेंशियल और बंदरगाह एमएएमपी के साथ जो कुछ भी चूक आया था। – johncorser

+2

कनेक्शन अस्वीकार कर दिया गया है = mysql पोर्ट 3306 पर नहीं सुन रहा है, या बिल्कुल नहीं चल रहा है, या टीसीपी कनेक्शन की अनुमति देने के लिए सेट नहीं है, या पोर्ट 3306 सक्रिय रूप से अवरुद्ध एक फ़ायरवॉल है। –

उत्तर

14

यदि कोई और इस मुद्दे से आता है, तो MySQL के लिए एमएएमपी पर डिफ़ॉल्ट पोर्ट 8889 है, लेकिन पोर्ट जो mypql के लिए उपयोग करने की अपेक्षा करता है वह 3306 है। तो आपको एमएएमपी खोलने, वरीयताओं पर जाने और एमएएमपी mysql पोर्ट को 3306 में बदलने की जरूरत है, फिर mysql सर्वर को पुनरारंभ करें। अब कनेक्शन मेजबान = localhost, उपयोगकर्ता = रूट, पास = रूट के साथ सफल होना चाहिए।

+0

एमएएमपी का उपयोग नहीं कर रहा है, लेकिन जब मैं इसे 'पोर्ट: 3306' कहने के लिए' config/database.php' पर इस कोडइग्निटर एप्लिकेशन में 'dsn:' स्ट्रिंग में बदलता हूं तो यह पूरी तरह से ठीक काम करता है। एमएएमपी बंदरगाह को देखने के लिए क्या कह रहा है? – IIllIIll

3

कभी-कभी आपको सर्वर में MySQL डीबी पोर्ट आईडी शामिल करने की आवश्यकता होती है।

$serverName = "127.0.0.1:3307"; 
0

तुम मुझे यह फिर से काम मैं सिर्फ हटाई गई फ़ाइलों बनाने के लिए के लिए 8889.

-1

में MAMP MySQL डेटाबेस पोर्ट बदलना होगा

ib_logfile0

और

ib_logfile1

/Applications/MAMP/db/mysql56/ib_logfile0 

मैक 10.13.3
MAMP:

से

संस्करण 4,3 (853)

+0

हाँ, कच्चे फाइलों को हटाने हमेशा एक अच्छा विचार है। नहीं। –

+0

मैंने सब कुछ करने की कोशिश की और यह एकमात्र चीज है जिसने मेरा एसक्यूएल सर्वर वापस प्राप्त किया ... मुझे पता है कि यह करने के लिए सबसे अच्छी बात नहीं है लेकिन यह मेरे लिए काम करता है .. – FrancisUster

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