如何在PHP中使用MYSQL\u CLIENT\u SSL设置和MYSQL\u connect()?
我有一个我试图连接的mysql数据库的CA证书(在AmazonRDS上)。我找不到一个好的例子来说明如何使用php的mysql_connect()函数连接到mysql数据库,并使用ca证书(存储在/home/username/mysql_ca_cert.pem)进行连接如何在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)
有人能帮我举个简单的例子吗?你可能可以试试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']);
?>