Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Postgresql 找不到驱动程序(Laravel的PDO异常)_Postgresql_Laravel 5_Pdo - Fatal编程技术网

Postgresql 找不到驱动程序(Laravel的PDO异常)

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

我对这个问题进行了广泛的研究,并尝试了所有建议,但我认为我可能遗漏了一些东西。我有一个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
尝试使用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版本中是否也启用了此功能。