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

Docker Compose部署WordPress无法读取环境变量问题求助

WordPress 6.1.1-php8.2-fpm Docker Compose 环境变量配置解决方案

直接上正确的docker-compose.yml配置示例,重点注意环境变量的语法细节:

version: '3.8'
services:
  wordpress:
    image: wordpress:6.1.1-php8.2-fpm
    environment:
      # 数据库相关变量,需与你的数据库服务配置匹配
      WORDPRESS_DB_HOST: db:3306
      WORDPRESS_DB_USER: wordpress
      WORDPRESS_DB_PASSWORD: your-db-password
      WORDPRESS_DB_NAME: wordpress
      # 可选:单独配置WP_HOME,也可在WORDPRESS_CONFIG_EXTRA中定义
      WORDPRESS_WP_HOME: "https://your-domain.com"
      # 核心配置:WORDPRESS_CONFIG_EXTRA必须是合法的PHP代码片段
      WORDPRESS_CONFIG_EXTRA: |
        define('WP_SITEURL', 'https://your-domain.com');
        define('FORCE_SSL_ADMIN', true);
        // 可追加更多自定义PHP配置
        define('WP_DEBUG', false);
    volumes:
      - wordpress_data:/var/www/html
  db:
    image: mysql:8.0
    environment:
      MYSQL_ROOT_PASSWORD: your-root-password
      MYSQL_DATABASE: wordpress
      MYSQL_USER: wordpress
      MYSQL_PASSWORD: your-db-password
    volumes:
      - db_data:/var/lib/mysql

volumes:
  wordpress_data:
  db_data:

关键注意事项

  • WORDPRESS_CONFIG_EXTRA格式:必须用|保留换行,内容是直接可执行的PHP代码,每一行定义末尾要加分号,字符串建议用单引号包裹(避免双引号的转义问题)。
  • 避免重复定义:如果已经在WORDPRESS_CONFIG_EXTRA里写了WP_HOME,就不需要单独设置WORDPRESS_WP_HOME环境变量,防止配置冲突。
  • 语法严谨性:PHP代码的分号、引号不能遗漏,否则会导致配置失效甚至容器启动失败。
  • 验证配置:容器启动后,执行docker exec -it <你的WordPress容器名> cat /var/www/html/wp-config.php,检查文件末尾是否存在你追加的配置代码。

常见错误排查

  • 错误写法:把WORDPRESS_CONFIG_EXTRA写成普通单行字符串,多配置项时容易语法报错,推荐用多行|写法。
  • 引号冲突:如果用双引号包裹整个配置内容,内部的双引号必须转义(比如\"),这种写法容易出错,优先用单引号。
  • 缓存问题:之前启动过容器可能残留旧配置,执行docker-compose down -v删除卷后再重新启动,确保生成全新的wp-config.php。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 12:10:23