मैं समय-समय पर इसमें भाग चुका हूं। स्पष्टीकरण अक्सर यह होता है कि MySQL सर्वर को एक पथ पर सॉकेट फ़ाइल का उपयोग करने के लिए कॉन्फ़िगर किया गया है, लेकिन php.ini mysqli या pdo_mysql पर अनुभाग किसी अन्य पथ पर सॉकेट फ़ाइल की तलाश कर रहा है।
यह मेरे साथ होता है, भले ही मैं मैकपॉर्ट्स से PHP और MySQL दोनों स्थापित करता हूं। आपको लगता है कि उन्होंने इन दो बंदरगाहों के लिए कॉन्फ़िगरेशन को सहमत कर दिया होगा।
या तो अपना php.ini संपादित करें सॉकेट फ़ाइल का सही स्थान सेट करने के लिए, या जब आप mysqli या pdo_mysql के साथ कनेक्शन शुरू करते हैं तो सॉकेट निर्दिष्ट करें।
pdo = new PDO("mysql:dbname=test;unix_socket=/opt/local/var/run/mysql5/mysqld.sock",
"username", "password")
$mysqli = new mysqli("localhost", "username", "password", "test",
ini_get("mysqli.default_port"), "/opt/local/var/run/mysql5/mysqld.sock")
मेरे द्वारा लिखा गया लेख भी देखें Error2003-CantConnectToMySQLServer ।