在macOS Ventura 13.1上安装pdo_pgsql与pgsql扩展的问题求助
解决PHP 8.2无法加载pdo_pgsql和pgsql扩展的问题
以下是不同操作系统下的正确安装步骤,确保能正常连接PostgreSQL:
一、Debian/Ubuntu 系列系统
- 执行命令安装依赖和扩展包:
sudo apt update sudo apt install php8.2-pgsql - 重启PHP相关服务(根据你的运行环境选择):
# 用PHP-FPM的情况 sudo systemctl restart php8.2-fpm # 用Apache的情况 sudo systemctl restart apache2 - 验证扩展:执行
php -m,输出列表中应能看到pdo_pgsql和pgsql
二、CentOS/RHEL/Rocky Linux 系列系统
- 先配置必要的软件仓库(未安装的话):
sudo dnf install epel-release sudo dnf install https://rpms.remirepo.net/enterprise/remi-release-8.rpm sudo dnf module enable php:remi-8.2 - 安装PostgreSQL扩展:
sudo dnf install php-pgsql - 重启服务:
# PHP-FPM环境 sudo systemctl restart php-fpm # Apache环境 sudo systemctl restart httpd - 验证扩展:执行
php -m确认扩展已加载
三、Windows 系统
- 确认PHP包的类型(线程安全TS/非线程安全NTS),扩展文件必须和PHP版本、TS/NTS、x86/x64完全匹配
- 检查PHP安装目录下的
ext文件夹,确保存在php_pdo_pgsql.dll和php_pgsql.dll,没有的话需从PHP官方渠道下载对应版本的扩展包,将文件放入ext目录 - 打开
php.ini文件,确保以下两行没有被注释(去掉行首的;):extension=pdo_pgsql extension=pgsql - 重启Web服务器(Apache或Nginx+PHP-FPM)
- 验证扩展:打开命令行执行
php -m,确认扩展存在
四、Laravel 连接验证
扩展安装完成后,修改项目根目录的.env文件配置PostgreSQL信息:
DB_CONNECTION=pgsql DB_HOST=127.0.0.1 DB_PORT=5432 DB_DATABASE=你的数据库名称 DB_USERNAME=数据库用户名 DB_PASSWORD=数据库密码
执行 php artisan migrate 测试数据库连接是否正常
内容的提问来源于stack exchange,提问作者Punrong Rany
相关产品推荐
相关产品推荐

