簡體   English   中英

PDO連接到遠程MySQL數據庫

[英]PDO connecting to remote MySQL db

我正在嘗試使用PHP連接到遠程MySQL數據庫。 這本來應該是一件容易的事,但由於我是PHP的新手,所以情況越來越糟。 我得到了一個key-cert.pem,一個client-cert.pem,主機名和憑據。 我在網上復制了一個示例,這就是我所做的:

pdoDb = new PDO(
  'mysql:host=customer_host_name;dbname=customer_db_name', 
  'my_username', 
  'my_password', 
  array(
    PDO::MYSQL_ATTR_SSL_KEY=>'C:/Apache24/htdocs/PETALO/lib/client-key.pem',
    PDO::MYSQL_ATTR_SSL_CERT=>'C:/Apache24/htdocs/PETALO/lib/client-cert.pem'
  ));

當我執行這段代碼時,我得到了這個錯誤:

Warning: PDO::__construct(): this stream does not support SSL/crypto in C:\Apache24\htdocs\custo\lib\database.php on line 16

Warning: PDO::__construct(): Cannot connect to MySQL by using SSL in C:\Apache24\htdocs\custo\lib\database.php on line 16

Warning: PDO::__construct(): [2002] (trying to connect via tcp://customer_host_name:3306) in C:\Apache24\htdocs\custo\lib\database.php on line 16
error: SQLSTATE[HY000] [2002]

客戶沒有給我ca-cert.pem並且憑據正確。 我想念什么?

該警告與任何證書文件無關。 要么在php.ini配置文件中未啟用OpenSSL,要么您的php版本根本沒有使用SSL支持進行編譯,或者您使用的mysql驅動程序/ php有一個bug,例如php bug#55870 證書和mysql設置僅在PDO嘗試通過SSL發起連接后才起作用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM