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

Laravel控制器连接PostgreSQL提示‘could not find driver’求助

问题解决步骤

核心原因:CLI 环境的 PHP 与 Web 服务(Apache/Nginx+PHP-FPM)使用两套独立配置,你在 CLI 下能正常操作数据库是因为已安装 PostgreSQL 驱动,但 Web 环境的 PHP 缺少对应驱动。

1. 确认 Web 环境使用的 PHP 版本

在项目根目录创建临时文件 info.php,内容如下:

<?php phpinfo(); ?>

通过浏览器访问该文件,找到「PHP Version」项,记录版本号(比如 8.1.x)。

2. 安装对应版本的 PostgreSQL PHP 驱动

根据记录的 PHP 版本执行安装命令:

# 示例:PHP 8.1 的情况
sudo apt install php8.1-pgsql

# 其他版本替换版本号即可,比如 php8.2-pgsql

3. 确保驱动在 Web 环境中启用

部分系统安装后会自动启用驱动,可手动确认配置:

  1. 进入 Web PHP 的配置目录(以 PHP8.1-FPM 为例):
    cd /etc/php/8.1/fpm/conf.d/
    
  2. 检查是否存在 20-pgsql.ini 和 20-pdo_pgsql.ini 软链接,若没有则手动创建:
    sudo ln -s /etc/php/8.1/mods-available/pgsql.ini /etc/php/8.1/fpm/conf.d/20-pgsql.ini
    sudo ln -s /etc/php/8.1/mods-available/pdo_pgsql.ini /etc/php/8.1/fpm/conf.d/20-pdo_pgsql.ini
    

4. 重启相关服务

根据你使用的 Web 服务器执行对应命令:

  • Nginx + PHP-FPM:
    sudo systemctl restart php8.1-fpm
    sudo systemctl restart nginx
    
  • Apache:
    sudo systemctl restart apache2
    

5. 验证驱动是否生效

再次访问 info.php,页面内搜索「pgsql」和「pdo_pgsql」,确认模块已加载。之后测试控制器代码,即可正常查询数据库。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 12:35:19