我们在云服务上的主.NET解决方案的子文件夹中运行Wordpress。我们已经将MySQL从CloudDB移动到Azure MySQL,但是只有当我们将“强制SSL连接”设置为禁用时,它才会连接。
Wordpress wp-config.php有以下内容
define('DB_SSL', true);我猜想问题是我们需要通过一个证书,但我不清楚如何在Wordpress中设置它,以便在通过SSL进行连接时传递它。
发布于 2017-12-25 08:45:41
以下是我所做的:
wp-config.php中:
定义(‘DB_SSL’,true);wp-includes/wp-db.php中的函数wp-includes/wp-db.php中。必须在mysqli_real_connect()之前调用它:
//只添加这一行mysqli_ssl_set($ this ->dbh,NULL,NULL,ABSPATH )。‘巴尔的摩赛博TrustRoot.crt.pem’,空,空);if ( WP_DEBUG ){ mysqli_real_connect( $this->dbh,$host,$this->dbuser,$this->dbpassword,NULL,$port,$socket,$client_flags );}$port{ @mysqli_real_connect( $this->dbh,$host,$this->dbuser,$this->dbpassword,null,$port,$socket,$client_flags );}解决办法看上去有点脏,但对我有用。
发布于 2018-06-21 07:27:35
这将通过将这些行添加到wp_config.php来解决这个问题。
define(‘MYSQL_CLIENT_FLAGS’, MYSQLI_CLIENT_SSL);
define(‘MYSQL_SSL_CA’, getenv(‘MYSQL_SSL_CA’));
define(‘MYSQL_CLIENT_FLAGS’, MYSQLI_CLIENT_SSL | MYSQLI_CLIENT_SSL_DONT_VERIFY_SERVER_CERT );发布于 2018-04-30 16:16:31
当将Azure mySQL数据库服务器与Wordpress容器映像结合使用时,我发现解决方案要简单得多。如果您使用的是VPS,这可能不适用。
define( 'MYSQL_CLIENT_FLAGS', MYSQLI_CLIENT_SSL );define('MYSQL_SSL_CA_PATH','/');https://stackoverflow.com/questions/47959933
复制相似问题