如何连接到一个MySQL数据库与PHP和使用SSL?

问题描述:

可能重复:
Connecting to MySQL via SSL using PHP如何连接到一个MySQL数据库与PHP和使用SSL?

进出口新的PHP和我不知道如何去连接到数据库远程使用SSL。使用mysql工作台我只需输入数据库的URL和主机名以及我们的密码,然后选择使用ssl和我就可以连接。我如何使用PHP来做到这一点?

+1

你在使用此用于数据库访问?库MySQLi? PDO? –

+0

好,然后我投票在*的搜索算法 – user1809913

+2

@ user1809913我用谷歌:p –

上被描述here您可以使用SSL连接用下面的PHP代码的MySQL服务器端的几个preaprations后:

$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())); 
} 

注:

注意,MySQL原生驱动程序不支持SSL在PHP 5.3.3之前,所以在使用MySQL Native Driver时调用此函数将导致错误。默认情况下,MySQL版本5.3以上版本的MySQL本机驱动程序是启用的。

+0

http://news.php.net/php.internals/53799 – greg0ire

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