gpt4 book ai didi

php - 如何在 symfony/doctrine 上使用 SSL 连接到 MySQL

转载 作者:可可西里 更新时间:2023-11-01 07:46:06 38 4
gpt4 key购买 nike

我正在尝试连接到启用了 SSL 的 MySQL。我正在使用 Symfony2 框架和 Doctrine。

在纯 PHP 中,我可以用

$link = mysql_connect("127.0.0.1:3306","test","testpass",true,MYSQL_CLIENT_SSL);

有谁知道我如何在 symfony/doctrine 中做到这一点?config.yml 中正确的 Doctrine 配置是什么?

更新:

也许我的问题是“config.yml 中正确的 Doctrine 配置是什么?”是错的。那么,我该怎么做呢?我应该从哪里开始?

谢谢

最佳答案

在 Doctrine 聊天室的帮助下,经过长时间的搜索,我找到了答案。

这是适用于 PHP > 5.3.7 的 dbal 配置它使用了 5.3.7 之前的 PHP 不可用的三个 PDO 常量

在标准 PDO 连接中:

$conn = new PDO("mysql:host=localhost;port=3307;database=dbname", "user1", "password1",
array(
1010 => '/path/to/certs/priv_key.pem',
1011 => '/path/to/certs/pub_cert.pem',
1012 => '/path/to/certs/ca_cert.pem',
)
);

如果尝试上面的代码给您一个错误,您的 PHP 版本可能是 < 5.3.7,那么您不太可能能够将 PDO 与 SSL 一起使用。

现在解决config.yml中的DBAL配置

doctrine:
dbal:
default_connection: default
connections:
default:
driver: %database_driver%
host: %database_host%
port: %database_port%
dbname: %database_name%
password: %database_password%
charset: UTF8
mapping_types:
enum: string
options:
1010 : %priv_key%
1011 : %pub_cert%
1012 : %ca_cert%

default2: # second connection ...

orm:
# orm configuration here ....

希望这对尝试使用 SSL 进行连接的任何人有所帮助。事实上,如果可能的话,建议对所有数据库连接使用 SSL 连接。

关于php - 如何在 symfony/doctrine 上使用 SSL 连接到 MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16600028/

38 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com