我正在连接到我的mysql数据库,如下所示:
$mysqli = new mysqli('76.65.87.64', 'user', 'my_password', 'my_db');
我有3个证书可用于安全的SSL连接。
如何在此连接中使用它们?
答案 0 :(得分:0)
我把这个答案放在这里是因为我也遇到了同样的问题,但是已经在兔子洞的深处了。
就我而言,我正在维护一个旧的PHP服务器,该服务器使用像OP一样使用oop格式的 mysqli 。
$ mysqli =新的mysqli('123.123.123.123','user','my_password','my_db');
现在,要求为此连接添加 SSL / TLS 。
我已经在互联网上搜索了mysqli oop格式和ssl功能,但遗憾的是似乎无法做到。
要添加SSL / TLS,有几个选项可供选择(我选择选项1 ):
$ mysqli =新的mysqli('123.123.123.123','user','my_password','my_db');
$mysqli = mysqli_init();
$mysqli->options(MYSQLI_OPT_SSL_VERIFY_SERVER_CERT, true);
$mysqli->ssl_set(NULL, NULL, "xxx.crt", NULL, NULL);
$mysqli->real_connect('123.123.123.123', 'user', 'my_password', 'my_db');
我认为理想的方法是迁移到PDO(视蛋白2),但是根据项目的规模和时间,我们需要选择选项1。
为此,我们可以使用 Regex 进行大量搜索和替换(我使用Visual Studio Code进行搜索和替换):
(\ $ [^-] +)-> real_escape_string(([^)] +))
mysqli_real_escape_string($ 1,$ 2)
(\ $ [^-] +)-> query(([^)] +))
mysqli_query($ 1,$ 2)
也可以遵循上述格式来更改用于mysqli程序的另一个mysqli oop函数。希望这对某人有帮助,谢谢。