首页 > 解决方案 > 我尝试在 laravel 上使用 postgresql 但找不到驱动程序(SQL: select * from "users" where "id" = 4 limit 1)

问题描述

各位工匠们好日子,请问我对 PostgreSql 有疑问,我有一个正在使用 MySql 的应用程序,一切正常,但我必须使用另一个数据库 PostgresSql,我做了必要的连接并运行php artisan migrate,迁移运行没有错误并且表已创建,但是当我尝试注册新用户时,出现此错误。

我已经清除了我的缓存、路由、配置和视图

php artisan config:cache
php artisan route:clear
php artisan view:clear
php artisan cache:clear

Postgres 错误

.env

DB_CONNECTION=pgsql
DB_HOST=127.0.0.1
DB_PORT=5432
DB_DATABASE=mydatabase
DB_USERNAME=postgres
DB_PASSWORD=mypassword

我正在使用WAMP,所以我在php.ini中取消了 pgsql 扩展的注释

;extension=pdo_odbc
extension=pdo_pgsql
extension=pdo_sqlite
extension=pgsql
;extension=phpdbg_webhelper

运行php -m ,它也列出了 pdo_pgsql

标签: phpmysqldatabaselaravelpostgresql

解决方案


您似乎启用了缺少扩展名。我们还需要启用php_pgsqland php_pdo_pgsqlinphp.ini因为您的 PHP 安装不支持 PostgreSQL。

启用此扩展后,您可能无法在phpinfo. 在这种情况下,您应该检查错误日志;您可能需要安装其他库。


推荐阅读