सारांश: Google क्लाउड एसक्यूएल द्वारा प्रदान किए गए स्व-हस्ताक्षरित प्रमाणपत्रों का उपयोग करते समय PHP त्रुटि देता है।एसएसएल स्व-हस्ताक्षरित प्रमाणपत्र PHP के साथ MySQL के साथ कनेक्ट करने के लिए PHP
विवरण: मैं Google क्लाउड SQL के mysql उदाहरण PHP के mysqli लाइब्रेरी का उपयोग करने के लिए कनेक्ट करने के लिए कोशिश कर रहा हूँ।
$db = mysqli_init();
mysqli_options ($db, MYSQLI_OPT_SSL_VERIFY_SERVER_CERT, true);
$db->ssl_set('client-key.pem', 'client-cert.pem', 'server-ca.pem', NULL, NULL);
$query = mysqli_real_connect ($db, $host, $user, $pass, $dbname, 3306, NULL, MYSQLI_CLIENT_SSL);
के रूप में मैं समझता हूँ कि गूगल बादल जहाँ मैं क्लाइंट-key.pem, ग्राहक cert.pem, सर्वर-ca.pem फ़ाइलों को डाउनलोड से, स्व-हस्ताक्षरित प्रमाण पत्र की अनुमति देता है।
मैं जब प्रमाण पत्र मान्य PHP से निम्न त्रुटि मिलती है:
mysqli_real_connect(): Peer certificate CN=`<project_name>' did not match expected CN=`<db_IP>'
मेरे शोध के आधार पर अब तक, ऐसा लगता है मैं Verify_Peer जांच, जो जाहिरा तौर पर पीएचपी की अनुमति नहीं है निष्क्रिय करने के लिए एक तरह से की जरूरत है। क्या आप कृपया इसे सत्यापित कर सकते हैं और/या PHP से Google क्लाउड एसक्यूएल के साथ एसएसएल का उपयोग करने का तरीका प्रदान कर सकते हैं?
धन्यवाद।
मैं कुछ इस तरह रहा हूँ (http://stackoverflow.com/questions/8443618/disable-certificate-verification-in-php-soapclient), लेकिन mysql के लिए। धन्यवाद! – user3376563
क्या आप [कमांड लाइन 'mysql' क्लाइंट] (https://cloud.google.com/sql/docs/mysql-client#connect-ssl) का उपयोग कर SSL के साथ कनेक्ट करने में सक्षम हैं? – Nick