Herstellen einer Verbindung zu einem Remote-MySQL-Server mit SSL von PHP aus
Das Herstellen einer Verbindung zu einem Remote-MySQL-Server mithilfe von SSL von PHP aus kann eine Herausforderung sein, insbesondere bei Verwendung die veraltete mysql_connect-Funktion. Um diese Herausforderung zu meistern, wird empfohlen, die MySQL Improved Extension (MySQLi) zu verwenden, die erweiterte Funktionalität und SSL-Unterstützung bietet.
Verwendung von MySQLi
Der folgende PHP-Code demonstriert So stellen Sie eine SSL-verschlüsselte Verbindung mit MySQLi her:
ini_set('error_reporting', E_ALL); ini_set('display_errors', '1'); error_reporting(E_ALL|E_STRICT); $db = mysqli_init(); mysqli_options($db, MYSQLI_OPT_SSL_VERIFY_SERVER_CERT, true); $db->ssl_set('/etc/mysql/ssl/client-key.pem', '/etc/mysql/ssl/client-cert.pem', '/etc/mysql/ssl/ca-cert.pem', NULL, NULL); $link = mysqli_real_connect($db, 'ip', 'user', 'pass', 'db', 3306, NULL, MYSQLI_CLIENT_SSL); if (!$link) { die('Connect error (' . mysqli_connect_errno() . '): ' . mysqli_connect_error() . "\n"); } else { $res = $db->query('SHOW TABLES;'); print_r($res); $db->close(); }
PDO_MYSQL SSL-Unterstützung
Die Verwendung von PDO_MYSQL mit SSL erfordert eine aktuelle PHP-Version, die SSL unterstützt. Bei Versionen vor 5.3.8 werden SSL-Optionen ignoriert. Das folgende Codebeispiel veranschaulicht jedoch die SSL-Konfiguration mit PDO_MYSQL:
$pdo = new PDO('mysql:host=ip;dbname=db', 'user', 'pass', array( PDO::MYSQL_ATTR_SSL_KEY => '/etc/mysql/ssl/client-key.pem', PDO::MYSQL_ATTR_SSL_CERT => '/etc/mysql/ssl/client-cert.pem', PDO::MYSQL_ATTR_SSL_CA => '/etc/mysql/ssl/ca-cert.pem' )); $statement = $pdo->query("SHOW TABLES;"); $row = $statement->fetch(PDO::FETCH_ASSOC); echo htmlentities($row['_message']);
Indem Sie diese Schritte befolgen und den bereitgestellten Code an Ihre spezifische Umgebung anpassen, können Sie mithilfe von SSL erfolgreich eine sichere Verbindung zu einem Remote-MySQL-Server herstellen PHP.
Das obige ist der detaillierte Inhalt vonWie kann ich mithilfe von SSL in PHP eine sichere Verbindung zu einem Remote-MySQL-Server herstellen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!