Postgresql 找不到驱动程序(Laravel的PDO异常)
我对这个问题进行了广泛的研究,并尝试了所有建议,但我认为我可能遗漏了一些东西。我有一个laravel项目,其.env的配置如下:Postgresql 找不到驱动程序(Laravel的PDO异常),postgresql,laravel-5,pdo,Postgresql,Laravel 5,Pdo,我对这个问题进行了广泛的研究,并尝试了所有建议,但我认为我可能遗漏了一些东西。我有一个laravel项目,其.env的配置如下: DB_CONNECTION=pgsql DB_HOST=127.0.0.1 DB_PORT=5432 DB_DATABASE=oamileage DB_USERNAME=postgres DB_PASSWORD=******** 我还取消了php.ini中以下行的注释: ;extension=pdo_pgsql -> extension=pdo_pgsql
DB_CONNECTION=pgsql
DB_HOST=127.0.0.1
DB_PORT=5432
DB_DATABASE=oamileage
DB_USERNAME=postgres
DB_PASSWORD=********
我还取消了php.ini中以下行的注释:
;extension=pdo_pgsql -> extension=pdo_pgsql
尝试使用php artisan migrate时,出现以下错误:
Illuminate\Database\QueryException : could not find driver (SQL: select * from information_schema.tables where table_schema = public and table_name = migrations)
旁注:我已经为我的另一个项目(与laravel无关)启动并运行了pgsql,它运行起来没有问题。我在窗户上
我已经安装了PDO驱动程序,如图所示:php cli似乎在其他地方安装了另一个配置文件(路径可以在phpinfo()中找到)。根据madflow的说法,我取消了下面这行的注释,它成功了:
;extension=pdo_pgsql -> extension=pdo_pgsql
您只需安装: sudo apt get安装php7.2-pgsql 执行上一个命令后,可以将模型移植到数据库: php artisan迁移
仅仅因为你在某个地方没有注释,并不意味着你做得对(在正确的位置)。
phpinfo()
说了什么?PDO Postgresql
模块是否已加载?如果没有,您将在页面顶部找到所使用的php.ini
的正确位置。是的,PDO Postgresql是根据phpinfo()输出加载的。我按照phpinfo()查找php.ini地址,我确信我做得对。我已经为另一个与laravel无关的项目启动并运行了postgresql,只是它在laravel.PHP cli上不起作用,Apache使用不同的配置文件。检查cli版本中是否也启用了此功能。