如何使用php连接到mysql数据库并使用ssl?

时间:2012-12-19 20:31:15

标签: php mysql ssl

  

可能重复:
  Connecting to MySQL via SSL using PHP

我是php新手,我不知道如何使用ssl远程连接到数据库。使用mysql workbench我只需输入数据库的url和主机名以及我们的密码,然后选择使用ssl即可连接。我怎么能用php做到这一点?

2 个答案:

答案 0 :(得分:1)

在mysql服务器端进行了一些描述here之后,您可以使用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,这样就可以这样做:

$link = mysql_connect("your.server.net", "test", "testpass", false, MYSQL_CLIENT_SSL) 
if(!$link) {
    die (mysql_error()));
}

注意:

  

请注意,MySQL Native Driver在PHP 5.3.3之前不支持SSL,因此在使用MySQL Native Driver时调用此函数将导致错误。默认情况下,在Microsoft Windows上从PHP 5.3版开始启用MySQL本机驱动程序。

答案 1 :(得分:0)

取决于您尝试连接到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);