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

Docker部署WordPress:WordPress可连MySQL但其他PHP程序无法连接

问题排查与解决方案

1. 修复自定义PHP测试脚本的500错误

你的test.php返回500错误,核心原因大概率是数据库连接参数错误:

  • 测试脚本必须使用Docker内部服务名作为数据库主机,而非localhost,正确示例代码如下:
<?php
$host = 'db:3306';
$user = 'wordpress';
$pass = 'wordpress';
$dbname = 'wordpress';

$conn = new mysqli($host, $user, $pass, $dbname);
if ($conn->connect_error) {
    die("连接失败: " . $conn->connect_error);
}
echo "连接成功";
$conn->close();
?>
  • 若仍报错,可进入WordPress容器验证PHP扩展:
    执行命令:docker exec -it $(docker ps -q -f name=wordpress) php -m | grep mysqli
    WordPress官方镜像默认包含mysqli扩展,此步骤仅用于排除极端情况。

2. 解决Duplicator无法连接MySQL的问题

Duplicator迁移时的连接失败,本质是迁移配置未使用Docker内部数据库地址:

  • 在Duplicator的迁移设置中,数据库主机必须填写db:3306,而非服务器公网IP或localhost。
  • 确认迁移配置中的数据库账号、密码与docker-compose.yml里的WORDPRESS_DB_USER、WORDPRESS_DB_PASSWORD完全一致(均为wordpress)。

3. 清理冗余服务

你的docker-compose.yml中包含的独立php:7.4服务未映射端口、未关联其他服务,属于冗余配置,建议删除以避免文件权限或环境冲突。修改后的配置如下:

version: '3'

services:
  # Database
  db:
    image: mysql:5.7
    volumes:
      - db_data:/var/lib/mysql
    restart: unless-stopped
    environment:
      MYSQL_ROOT_PASSWORD: password
      MYSQL_DATABASE: wordpress
      MYSQL_USER: wordpress
      MYSQL_PASSWORD: wordpress
    networks:
      - wpsite
  # phpmyadmin
  phpmyadmin:
    depends_on:
      - db
    image: phpmyadmin/phpmyadmin
    restart: always
    ports:
      - '8080:80'
    environment:
      PMA_HOST: db
      MYSQL_ROOT_PASSWORD: password
    networks:
      - wpsite
  # Wordpress
  wordpress:
    depends_on:
      - db
    image: wordpress:latest
    ports:
      - '8000:80'
    restart: always
    volumes: ['./:/var/www/html']
    environment:
      WORDPRESS_DB_HOST: db:3306
      WORDPRESS_DB_USER: wordpress
      WORDPRESS_DB_PASSWORD: wordpress
    networks:
      - wpsite

networks:
  wpsite:
volumes:
  db_data:

4. 验证修复效果

  • 重启Docker服务:docker-compose down && docker-compose up -d
  • 重新访问localhost:8000/test.php确认连接成功。
  • 重新运行Duplicator迁移流程,检查数据库连接状态。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 19:01:04