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

Docker环境下Laravel连接PostgreSQL出现could not find driver报错求解

修复方案

按以下顺序操作即可解决pdo_pgsql扩展未加载的问题:

  • 第一步:清除镜像缓存完全重建

90%以上的同类问题都是Docker复用了旧的构建缓存导致,执行以下命令清理后重建:

docker-compose down -v --rmi all
docker-compose build --no-cache
docker-compose up -d

重建完成后验证扩展状态:

docker exec -it app php -m | grep pdo

输出包含pdo_pgsql即为安装成功。

  • 第二步:检查本地PHP配置文件
    你挂载了./php/local.ini到PHP扩展配置目录,打开该文件确认:
  1. 没有disable_extensions=pdo_pgsql这类禁用规则
  2. 存在extension=pdo_pgsql.so且没有被注释
    修改完成后重启PHP容器即可生效。
  • 第三步:调整Dockerfile扩展安装逻辑(可选,适配PHP8.0)
    PHP8.0安装pgsql扩展无需额外指定configure路径,可将Dockerfile中原扩展安装相关的两行替换为以下内容,显式启用扩展:
RUN docker-php-ext-install pdo pgsql pdo_pgsql zip exif pcntl
RUN docker-php-ext-enable pdo_pgsql pgsql

调整后重新执行第一步的无缓存构建流程即可。

  • 兜底检查:确认Laravel环境配置
    检查项目根目录.env文件中DB_CONNECTION参数值确实为pgsql,没有拼写错误或被覆盖即可,你提供的config/database.php配置无异常。

内容的提问来源于stack exchange,提问作者AC-L3S

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 22:27:01