Heim  >  Artikel  >  Datenbank  >  Warum schlägt meine PHP-SSL-Verbindung zu einem Remote-MySQL-Server fehl und wie kann ich das Problem mit MySQLi oder PDO beheben?

Warum schlägt meine PHP-SSL-Verbindung zu einem Remote-MySQL-Server fehl und wie kann ich das Problem mit MySQLi oder PDO beheben?

Susan Sarandon
Susan SarandonOriginal
2024-11-21 06:10:10469Durchsuche

Why is my PHP SSL connection to a remote MySQL server failing, and how can I fix it using MySQLi or PDO?

Verbindung zum Remote-MySQL-Server mit SSL von PHP aus herstellen

Verbindung über mysql_connect nicht möglich

Beim Versuch tritt ein „SSL-Verbindungsfehler“ auf Stellen Sie mit mysql_connect eine Verbindung zu einem Remote-MySQL-Server mit SSL her. Dieser Fehler tritt auf, nachdem die erforderlichen Parameter zu my.cnf hinzugefügt und mit -h ip -u user -p vom Terminal aus erfolgreich eine Verbindung zum Server hergestellt wurde.

Lösung: Wechseln Sie zu MySQLi oder PDO_MYSQL

Das veraltete mysql_connect unterstützt SSL nur eingeschränkt. Erwägen Sie den Wechsel zu mysqli_connect oder PDO_MYSQL.

Geben Sie für mysqli_connect SSL-Optionen wie folgt an:

mysqli_options($db, MYSQLI_OPT_SSL_VERIFY_SERVER_CERT, true);
$db->ssl_set('/path/to/client-key.pem', '/path/to/client-cert.pem', '/path/to/ca-cert.pem');

Fügen Sie für PDO_MYSQL SSL-Optionen in das Verbindungsarray ein:

PDO::MYSQL_ATTR_SSL_KEY => '/path/to/client-key.pem',
PDO::MYSQL_ATTR_SSL_CERT => '/path/to/client-cert.pem',
PDO::MYSQL_ATTR_SSL_CA => '/path/to/ca-cert.pem'

Zusätzliche Hinweise

  • Stellen Sie sicher, dass Sie über eine aktuelle Version von verfügen PHP, da die SSL-Unterstützung für PDO in älteren Versionen eingeschränkt ist.
  • Weitere Details zu MySQLi und PDO_MYSQL mit SSL finden Sie im PHP-Entwicklungshandbuch.

Das obige ist der detaillierte Inhalt vonWarum schlägt meine PHP-SSL-Verbindung zu einem Remote-MySQL-Server fehl und wie kann ich das Problem mit MySQLi oder PDO beheben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn