如何使用 PDO ssl 连接到 azure mysql 数据库
Posted
技术标签:
【中文标题】如何使用 PDO ssl 连接到 azure mysql 数据库【英文标题】:How to connect to azure mysql database using PDO ssl 【发布时间】:2018-10-23 14:30:57 【问题描述】:我正在使用 PDO 连接到 Azure mysql 数据库。 我已收到指示下载的文件。
array(
PDO::MYSQL_ATTR_SSL_CA => '/BaltimoreCyberTrustRoot.crt.pem.txt',$port
)
但我得到一个错误 连接失败:SQLSTATE[HY000] [2002]
我查看了 AZURE 为 php 提供的连接字符串,但我没有找到像其他人一样使用 SSL_CA 的 PDO 之一 感谢您的帮助
【问题讨论】:
【参考方案1】:您使用的是哪个 PHP 版本?尝试使用最新的。如果您启用了“对等验证”,请将其禁用并重试。此外,尝试生成新的 SSL 证书并在服务器上测试端点以确保其正常工作。根据这个 SO 线程:How do I connect to a MySQL database over SSL with Laravel 5.3,如果您需要使用“--ssl-mode=VERIFY_IDENTITY”,那么您可以 ping 您的服务器名称来解析区域服务器名称,例如 westeurope1-a.control.database.windows .net,并在连接中使用该区域服务器名称,直到此问题得到解决。将 DB_HOST 更改为该区域,然后重试。
【讨论】:
我已经 ping,但我收到一个请求超时以上是关于如何使用 PDO ssl 连接到 azure mysql 数据库的主要内容,如果未能解决你的问题,请参考以下文章
使用带有 --ssl 的 PHP PDO 连接到 MySQL/MariaDB,无需证书
通过 SSL 上的 PHP PDO 连接到 MSSQL 服务器
由于缺少 SSL 加密,连接到 SQL Azure 数据库失败