Rumah > pangkalan data > tutorial mysql > Mengapa sambungan PHP SSL saya ke pelayan MySQL jauh gagal, dan bagaimana saya boleh membetulkannya menggunakan MySQLi atau PDO?

Mengapa sambungan PHP SSL saya ke pelayan MySQL jauh gagal, dan bagaimana saya boleh membetulkannya menggunakan MySQLi atau PDO?

Susan Sarandon
Lepaskan: 2024-11-21 06:10:10
asal
517 orang telah melayarinya

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

Sambung ke Pelayan MySQL Jauh dengan SSL daripada PHP

Tidak Dapat Sambung melalui mysql_connect

Anda menghadapi "ralat sambungan SSL" semasa cuba sambung ke pelayan MySQL jauh dengan SSL menggunakan mysql_connect. Ralat ini timbul selepas menambah parameter yang diperlukan pada my.cnf dan berjaya menyambung ke pelayan dengan -h ip -u pengguna -p dari terminal.

Penyelesaian: Tukar ke MySQLi atau PDO_MYSQL

Mysql_connect yang lapuk mempunyai sokongan terhad untuk SSL. Pertimbangkan untuk menukar kepada mysqli_connect atau PDO_MYSQL.

Untuk mysqli_connect, nyatakan pilihan SSL seperti berikut:

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');
Salin selepas log masuk

Untuk PDO_MYSQL, sertakan pilihan SSL dalam tatasusunan sambungan:

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'
Salin selepas log masuk

Tambahan Nota

  • Pastikan anda mempunyai versi PHP terkini, kerana sokongan SSL untuk PDO adalah terhad dalam versi lama.
  • Rujuk manual pembangunan PHP untuk butiran lanjut tentang MySQLi dan PDO_MYSQL dengan SSL.

Atas ialah kandungan terperinci Mengapa sambungan PHP SSL saya ke pelayan MySQL jauh gagal, dan bagaimana saya boleh membetulkannya menggunakan MySQLi atau PDO?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan