DDEV环境中数据库连接异常:连接拒绝与目录不存在
DDEV环境下MySQL连接失败问题
问题现象
执行以下代码时:
$conn = new mysqli('127.0.0.1', 'db', 'db', 'db');报错:
mysqli_sql_exception: Connection refused执行以下代码时:
$conn = new mysqli('localhost', 'db', 'db', 'db');报错:
mysqli_sql_exception: No such file or directory
数据库验证
数据库确实存在,可通过以下命令打开phpMyAdmin确认:
ddev launch -p
打开的界面显示目标数据库已正常创建。
ddev describe输出(翻译后)
┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ │ 项目: debra-local ~/clients/defra/rpa/dev/sites/debra-local https://debra-local.ddev.site │ │ Docker 驱动: docker 24.0.2 │ │ 路由模式: traditional │ ├────────────┬──────┬────────────────────────────────────────────────────────────────────────────────┬────────────────────┤ │ 服务名称 │ 状态 │ URL/端口信息 │ 详细说明 │ ├────────────┼──────┼────────────────────────────────────────────────────────────────────────────────┼────────────────────┤ │ web │ 正常 │ https://debra-local.ddev.site │ PHP版本:8.2 │ │ │ │ 容器内端口: web:443,80,8025 │ 服务器类型:nginx-fpm │ │ │ │ 主机映射端口: 127.0.0.1:32937,32938 │ 文档根目录:'html' │ │ │ │ │ NodeJS版本:16 │ ├────────────┼──────┼────────────────────────────────────────────────────────────────────────────────┼────────────────────┤ │ db │ 正常 │ 容器内端口: db:3306 │ 数据库类型:mysql 5.7 │ │ │ │ 主机映射端口: 127.0.0.1:32939 │ 账号/密码:'db/db' │ │ │ │ │ 或 'root/root' │ ├────────────┼──────┼────────────────────────────────────────────────────────────────────────────────┼────────────────────┤ │ PHPMyAdmin │ 正常 │ https://debra-local.ddev.site:8037 │ │ │ │ │ 容器内端口: dba:80,80 │ │ │ │ │ 快速启动命令: `ddev launch -p` │ │ ├────────────┼──────┼────────────────────────────────────────────────────────────────────────────────┼────────────────────┤ │ Mailhog │ │ MailHog地址: https://debra-local.ddev.site:8026 │ │ │ │ │ 快速启动命令: `ddev launch -m` │ │ ├────────────┼──────┼────────────────────────────────────────────────────────────────────────────────┼────────────────────┤ │ 所有可访问URL │ │ https://debra-local.ddev.site, https://127.0.0.1:32937, │ │ │ │ │ http://debra-local.ddev.site, http://127.0.0.1:32938 │ │ └────────────┴──────┴────────────────────────────────────────────────────────────────────────────────┴────────────────────┘
.ddev/config.yaml配置(带中文注释)
name: debra-local type: php docroot: html # 站点文档根目录 php_version: "8.2" # PHP运行版本 webserver_type: nginx-fpm # Web服务器类型 router_http_port: "80" # 路由器HTTP监听端口 router_https_port: "443" # 路由器HTTPS监听端口 xdebug_enabled: false # 是否启用Xdebug调试工具 additional_hostnames: [] # 额外绑定的主机名列表 additional_fqdns: [] # 额外绑定的完全限定域名列表 database: type: mysql # 数据库类型 version: "5.7" # 数据库版本 nfs_mount_enabled: false # 是否启用NFS挂载优化文件性能 mutagen_enabled: false # 是否启用Mutagen进行文件同步 use_dns_when_possible: true # 优先使用DNS解析容器地址 composer_version: "2" # Composer工具版本 web_environment: [] # Web容器的环境变量列表 nodejs_version: "16" # NodeJS运行版本
内容的提问来源于stack exchange,提问作者therobyouknow
相关产品推荐
相关产品推荐

