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

OctoberCMS搭配Laradoc连接MSSQL报找不到驱动错误如何排查

故障现象

使用OctoberCMS搭配Laradock环境、MSSQL作为项目数据库,按以下流程操作时,在安装向导的数据库创建步骤抛出[ERROR] Connection failed: could not find driver报错:

  • 克隆Laradock到本地项目目录
  • 配置Laradock的.env文件,指定PHP版本为v8.1
  • 执行docker-compose up -d nginx mssql启动对应容器
  • 进入容器后执行php artisan october:install启动OctoberCMS安装流程
  • 按安装向导提示逐步操作到数据库配置环节

当前OctoberCMS的.env数据库配置如下:

DB_CONNECTION=sqlsrv
DB_HOST=mssql
DB_PORT=3306
DB_DATABASE=mssql
DB_USERNAME=root
DB_PASSWORD=
故障原因

报错由两个核心问题导致:

  1. PHP容器未安装MSSQL(sqlsrv)对应的PDO驱动,PHP无法识别sqlsrv连接协议
  2. 数据库配置参数错误:MSSQL默认服务端口不是3306,且配置里的账号、库名是MySQL默认规则,和Laradock内置MSSQL容器的默认配置不匹配
解决步骤

1. 为PHP容器安装sqlsrv驱动

  • 进入本地Laradock目录,打开目录下的.env配置文件,找到WORKSPACE_INSTALL_MSSQL、PHP_FPM_INSTALL_MSSQL两个配置项,将值都修改为true
  • 停掉当前运行的容器,执行以下命令重新构建对应服务容器:
docker-compose stop
docker-compose build workspace php-fpm
  • 重新启动相关服务:
docker-compose up -d nginx mssql
  • 验证驱动安装结果:进入workspace容器执行php -m | grep sqlsrv,命令返回pdo_sqlsrv、sqlsrv两个结果即代表驱动安装完成

2. 修正数据库配置参数

打开OctoberCMS根目录的.env文件,将数据库配置修改为Laradock MSSQL容器的默认适配值:

DB_CONNECTION=sqlsrv
DB_HOST=mssql
DB_PORT=1433
DB_DATABASE=master
DB_USERNAME=sa
DB_PASSWORD=Laradock1!

如果你自定义过MSSQL容器的SA账号密码、初始化库名,直接替换为自定义值即可,不要保留原配置里3306端口、root账号这类MySQL专属参数

3. 重新执行安装流程

再次进入workspace容器,执行php artisan october:install重新走安装流程,数据库连接校验即可正常通过。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 15:01:07