【发布时间】:2019-02-24 18:39:05
【问题描述】:
我无法在下面的 PHP 代码中使用 SSL 连接 MySQL 数据库(存在于另一台服务器中)。 我尝试了链接中的步骤:https://docs.microsoft.com/en-us/azure/mysql/howto-configure-ssl
谁能告诉我这些步骤应该怎么做?
仅供参考,我可以从命令行连接 MySQL 数据库。
无法连接到 MySQL:php_network_getaddresses:getaddrinfo 失败:名称或服务未知
$db = mysqli_init();
//mysqli_options ($db, MYSQLI_OPT_SSL_VERIFY_SERVER_CERT, true);
mysqli_ssl_set($db,"/var/www/html/path/cert/client-key.pem","/var/www/html/path/cert/client-cert.pem","/var/www/html/path/BaltimoreCyberTrustRoot.crt.pem",NULL,NULL);
$c=mysqli_real_connect($db, 'example.com','uname@uname','mypassword','database',3306,NULL, MYSQLI_CLIENT_SSL);
if(mysqli_connect_errno($db)){
echo "<br>Failed to connect to MySQL: " . mysqli_connect_error();
}
else
{
$sql = 'show tables ';
echo $sql.'<br>';
$result = mysqli_query($db,$sql);
$rows = array();
if(!empty($result)){
while ($row = mysqli_fetch_assoc($result)){
$rows[] = $row;
echo '<pre>'; echo json_encode($row, JSON_PRETTY_PRINT);
}
}
}
【问题讨论】:
-
你试过普通的
mysqli_connect()吗?好的,你需要它。 -
嗯,“
example.com”似乎是问题所在,由于这只是一个示例,因此无法判断问题所在。 -
@PraveenKumarPurushothaman,当我们使用 SSL 连接 MySQL 时,我们不能使用 mysqli。同意吗?
-
@deceze 那是主机名!同意吗?
-
……是吗?!而且PHP好像找不到了。
标签: php ssl mysqli mysql-connect