可能重复:
使用 PHP 通过 SSL 连接到 MySQL
我是 php 新手,我不确定如何使用 ssl 远程连接到数据库。使用 mysql 工作台,我只需输入数据库的 url 和主机名以及我们的密码,然后选择使用 ssl,我就可以连接。我怎样才能使用 php 做到这一点?
可能重复:
使用 PHP 通过 SSL 连接到 MySQL
我是 php 新手,我不确定如何使用 ssl 远程连接到数据库。使用 mysql 工作台,我只需输入数据库的 url 和主机名以及我们的密码,然后选择使用 ssl,我就可以连接。我怎样才能使用 php 做到这一点?
在此处描述的 mysql 服务器端进行了一些 preaprations 之后,您可以使用 ssl 和以下 php 代码进行连接:
$db = mysqlii_init();
$db->ssl_set('server-key.pem','server-cert.pem', 'cacert.pem', NULL, NULL);
$db->real_connct("your.server.net", "test", "testpass", "yourdb");
或者使用旧的(不推荐使用的)mysql API 这个cn可以这样完成:
$link = mysql_connect("your.server.net", "test", "testpass", false, MYSQL_CLIENT_SSL)
if(!$link) {
die (mysql_error()));
}
笔记:
注意,PHP 5.3.3 之前的 MySQL Native Driver 不支持 SSL,所以在使用 MySQL Native Driver 时调用该函数会报错。从 PHP 版本 5.3 开始,默认情况下在 Microsoft Windows 上启用 MySQL Native Driver。
取决于您尝试连接到 mysql 的方法
$db = mysql_connect('your.server','username','pass',false,MYSQL_CLIENT_SSL);
但是从 5.5 开始,不推荐使用 mysql_connect [旧连接器正在消失]
$db = mysqli::init();
$db->set_ssl($key,$cert,$ca,$capath,$cipher);
$db->real_connect($host,$username,$passwd,$dbname);