如何在PHP中使用MYSQL_CLIENT_SSL设置和mysql_connect()?

时间:2012-02-04 08:15:58

标签: php mysql

我有一个我想连接的mysql数据库的CA证书(它在Amazon rds上)。我找不到一个很好的例子,说明如何使用php的mysql_connect()函数连接到mysql数据库,并使用该ca证书(存储在/home/username/mysql_ca_cert.pem)进行连接。

有人能用一个简单的例子来帮助我吗?

4 个答案:

答案 0 :(得分:1)

mysql_connect()已被折旧且具有高度可攻击性。 使用它是最终的愚蠢

<?php
$pdo = new PDO('mysql:host=ip;dbname=db', 'user', 'pass', array(
    PDO::MYSQL_ATTR_SSL_KEY    =>'/etc/mysql/ssl/client-key.pem',
    PDO::MYSQL_ATTR_SSL_CERT=>'/etc/mysql/ssl/client-cert.pem',
    PDO::MYSQL_ATTR_SSL_CA    =>'/etc/mysql/ssl/ca-cert.pem'
    )
);
$statement = $pdo->query("SHOW TABLES;");
$row = $statement->fetch(PDO::FETCH_ASSOC);
echo htmlentities($row['_message']);
?>

http://www.php.net/manual/en/book.pdo.php

答案 1 :(得分:0)

这将使用服务器ssl cert连接,2048是密钥

$link=mysql_connect(host, user, password,true,2048);

答案 2 :(得分:-1)

$db = mysqlii_init(); 
$db->ssl_set('server-key.pem','server-cert.pem', 'cacert.pem', NULL, NULL); 
$db->real_connect('localhost','root','','mydb'); 

然后当然

$db->close();

希望有所帮助:)

答案 3 :(得分:-2)

你可能会尝试mysqli :: ssl_set

http://www.php.net/manual/en/mysqli.ssl-set.php

相关问题