[英]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.