我有一个托管在远程服务器上的 MySQL 数据库,它只接受 SSL 连接。当我使用带有 SSL 选项的 Java JDBC 连接到这个数据库时,它工作正常。有一个特殊的 jdbc 字符串用于 JDBC 连接,如下所示“jdbc:mysql://:/?verifyServerCertificate=false&useSSL=true&requireSSL=true”
我需要使用 ADODB 库通过 PHP 使用类似的连接。
我在网上发现很少有关于使用 ADODB mysqli 扩展的参考资料
(参考http://mbrisby.blogspot.com/2008/06/adodb-php-mysql-ssl.html)
创建 CA 证书后(我们会说它在 /path/to/ca-cert.pem),确保以下项目在 /etc/my.cnf 的 [client] 节或连接用户的 ~/客户端主机上的 .my.cnf:
ssl-ca=/path/to/ca-cert.pem
然后尝试以下 PHP 程序:
// 这些是 AdoDB 库的一部分 require '/path/to/adodb-exceptions.inc.php'; 需要'/path/to/adodb.inc.php';
/* * 我在 PHP 程序中运行 * printf( "%d\n", MYSQLI_CLIENT_SSL ) * 得到了 '2048'(安装了 mysqli 扩展) */ $dsn = 'mysqli://ssluser:sslpass@ dbhost/test?clientflags=2048';
$dbh = NewADOConnection($dsn);
$sql = "显示状态,如 'ssl_cipher'"; $res =& $dbh->执行($sql); print_r($res->fields); $res->关闭();
$dbh->关闭();
如果我从另一台机器连接到这个 mysql 数据库,是否需要证书信息?
是否有类似于可用于 PHP 的 JDBC 字符串的内容?
如果有人可以发布一个工作示例,那就太好了
谢谢