如何在PHP中使用MYSQL\u CLIENT\u SSL设置和MYSQL\u connect()?

如何在PHP中使用MYSQL\u CLIENT\u SSL设置和MYSQL\u connect()?,php,mysql,Php,Mysql,我有一个我试图连接的mysql数据库的CA证书(在AmazonRDS上)。我找不到一个好的例子来说明如何使用php的mysql_connect()函数连接到mysql数据库,并使用ca证书(存储在/home/username/mysql_ca_cert.pem)进行连接 有人能帮我举个简单的例子吗?你可能可以试试mysqli::ssl\u set 这将使用服务器ssl证书进行连接2048是密钥 $link=mysql_connect(host, user, password,true,2048)

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


有人能帮我举个简单的例子吗?

你可能可以试试mysqli::ssl\u set


这将使用服务器ssl证书进行连接2048是密钥

$link=mysql_connect(host, user, password,true,2048);
当然之后呢

$db->close();
希望有帮助:)

mysql\u 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']);
?>


我建议不要使用mysql_*函数,改用mysqli或PDO。@GordonM,mysql_*函数有什么问题吗?它们已经严重过时,没有更新以利用mysql 5提供的功能,而且它们除了名称以外都不推荐使用。@GordonM,谢谢你的建议。不幸的是,我有一些使用mysql_connect的遗留代码需要维护,所以如果有人有答案,我仍然对这个问题感兴趣。@JeffPigarelli,如果我能使用PDO。。。。。不幸的是,我不能在这个场景中使用mysql\u connect()函数。这是遗留代码。@马克·艾伦,我如何将其与位于/home/username/mysql\u ca\u cert.pem的ssl证书文件连接?请看最后一条消息。
<?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']);
?>