You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Docker化Wordpress+Selenium+PHP Composer环境测试重定向localhost问题

问题根因

这不是测试代码的BUG,也不是Docker网络配置错误,问题出在WordPress站点的核心配置项:

  • WordPress初始化安装时,会默认把siteurl和home两个全局配置存在数据库中,用来指定全站的跳转、资源加载的根域名
  • 你之前没有显式指定安装参数时,这两个配置默认是localhost,所以只要触发登录校验、权限跳转等逻辑,WordPress都会强制重定向到localhost开头的地址,而Selenium容器内的localhost指向自身,自然无法访问到WordPress容器的服务
可行解决方案

你补充的wordpress-cli自动安装方案是标准正确解法,核心逻辑就是安装时显式指定--url=wordpress,把站点根域名设为Docker-compose内的服务名wordpress,同网络下的所有容器(包括Selenium)都可以通过这个域名访问到WordPress服务,后续所有的站内重定向都会基于http://wordpress生成,不会再跳转到localhost。

也可以选择另外两种备选方案修复:

  • 手动修改数据库wp_options表,把siteurl和home两个字段的值改为http://wordpress
  • 在WordPress的wp-config.php中新增两行配置强制指定站点域名:
define( 'WP_HOME', 'http://wordpress' );
define( 'WP_SITEURL', 'http://wordpress' );
额外注意事项
  • 你之前测试最后一步抛出ERR_CONNECTION_REFUSED是因为登录失败后会话无效,触发重定向到http://localhost/wp-login.php无法访问导致的,修复站点域名配置后这个问题会自动消失
  • 这套配置完全可以复现Github Actions的测试流程,因为Github Actions的服务容器间也是通过服务名作为域名互相访问的,和Docker-compose的网络逻辑一致

内容的提问来源于stack exchange,提问作者Alvin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 04:54:05