关于mysqli_ssl_set()函数说明及Ubuntu环境下PHP服务器OpenSSL要求的技术问询
关于mysqli_ssl_set()函数说明及Ubuntu环境下PHP服务器OpenSSL要求的技术问询
先给你明确答案:是的,完全正确!咱们结合手册说明和Ubuntu环境来理清楚:
首先,你提到的PHP手册关于mysqli_ssl_set()的说明是这样的:
Used for establishing secure connections using SSL. It must be called before
mysqli_real_connect(). This function does nothing unless OpenSSL support is enabled.
这里的“OpenSSL support is enabled”在Ubuntu的PHP服务器上,其实对应两个必要条件:
- 服务器系统层面必须安装OpenSSL基础软件包——Ubuntu上可以通过
sudo apt install openssl来确保它存在; - PHP的mysqli扩展必须启用OpenSSL支持——通常在Ubuntu上,只要你安装了对应PHP版本的
php-mysqli或者php-mysqlnd包(比如PHP8.2就是php8.2-mysql),默认就已经开启了OpenSSL支持,但如果是自定义编译的PHP,就得确保编译时加上了--with-openssl和--with-mysqli相关参数。
简单来说,如果Ubuntu服务器上没满足这两个条件,调用mysqli_ssl_set()根本不会起到任何SSL加密的作用,甚至如果你的数据库服务器强制要求SSL连接的话,连正常的数据库连接都建立不起来。
备注:内容来源于stack exchange,提问作者Jose Cabrera Zuniga
相关产品推荐
相关产品推荐

