Azure Apps中自定义域名访问WordPress站点出现数据库连接错误
解决Azure Apps上WordPress自定义域名数据库连接错误的方案
先查wp-config.php的核心配置
- 别让
WP_HOME和WP_SITEURL硬编码成默认的domain.azurewebsite.com,改成动态适配当前域名:define('WP_HOME', 'https://' . $_SERVER['HTTP_HOST']); define('WP_SITEURL', 'https://' . $_SERVER['HTTP_HOST']); - 核对数据库连接参数(
DB_HOST、DB_NAME、DB_USER、DB_PASSWORD),Azure的数据库主机通常带端口,比如xxx.mysql.database.azure.com:3306,确保没有针对域名写条件判断导致参数切换错误。
检查Azure App Service的应用设置
- 登录Azure门户进你的App Service,到配置 > 应用程序设置里,看看有没有设置
WORDPRESS_DB_HOST这类环境变量——这些会直接覆盖wp-config里的配置,要是自定义域名访问时变量没加载对,直接就会连不上库。 - 确认有没有针对自定义域名的特殊配置规则,比如某些变量只在默认域名下生效,导致切换到自定义域名时数据库参数出错。
排查SSL与重定向问题
- 如果自定义域名开了HTTPS,得让WordPress正确识别:
define('FORCE_SSL_ADMIN', true); if (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] === 'https') { $_SERVER['HTTPS'] = 'on'; } - 看看Azure的自定义域名设置里是不是开了HTTPS only,要是开了但WordPress没处理好HTTPS请求,可能会引发连锁错误导致数据库连接失败。
数据库侧的访问控制检查
- 进Azure数据库的管理页面,看防火墙规则,确认App Service的所有出站IP都在允许列表里——自定义域名和默认域名用的是同一批出站IP,但如果有基于域名的访问限制,得调整规则。
- 拿数据库的连接字符串在本地测试下,排除数据库本身不可用的问题。
用WP_DEBUG抓详细错误日志
- 光开WP_DEBUG不够,把日志写到文件里看具体错误:
日志会存在define('WP_DEBUG', true); define('WP_DEBUG_LOG', true); define('WP_DEBUG_DISPLAY', false);wp-content/debug.log里,里面会明确告诉你是主机解析失败、权限不够还是密码错了,精准定位问题。
内容的提问来源于stack exchange,提问作者Aatish Kumar
相关产品推荐
相关产品推荐

