使用DDEV安装PrestaShop时数据库连接失败求助
解决DDEV环境下PrestaShop 1.7.6.2数据库连接失败问题
你踩的这个坑其实是DDEV容器网络访问的典型误区——你用了主机侧的数据库端口来连接,但PrestaShop运行在DDEV的web容器里,得用容器内部的访问方式才行。下面给你一步步的解决办法:
改用DDEV内部的数据库访问地址
完全不用填127.0.0.1:32775或者localhost:32775,在PrestaShop安装向导里直接填这些信息:- 数据库服务器:
db - 端口:
3306 - 用户名:
db - 密码:
db - 数据库名:
db
原因很简单:DDEV的所有容器都在同一个内部网络里,db就是数据库容器的服务名,直接能解析到对应的容器,端口用默认的3306就行,不需要用主机映射出来的随机端口。
- 数据库服务器:
先验证容器内的数据库连通性
可以先进入web容器测试一下,确保内部能正常访问数据库:ddev exec mysql -udb -pdb db如果能成功进入mysql命令行,说明数据库在容器内是正常的,那肯定是安装向导里的地址填错了。
检查你的DDEV配置文件
我注意到你的config.yaml里docroot是空的,这可能会导致web服务器找不到PrestaShop的安装文件。你需要把docroot设置成PrestaShop解压后的根目录(比如你把Zip包解压到项目根目录的public文件夹里,就设docroot: "public";如果解压后是prestashop文件夹,就设docroot: "prestashop"),确保nginx能正确加载安装页面。如果还是不行,重置DDEV环境
有时候数据库初始化可能有残留问题,执行下面的命令重启并重置整个环境:ddev stop -r重启后再重新运行安装向导,应该就能正常连接了。
内容的提问来源于stack exchange,提问作者Andrea Schmuttermair
相关产品推荐
相关产品推荐

