Laravel: Error [PDOException]: Could not Find Driver in PostgreSQL
Solution 1:
Be sure to configure the 'default'
key in app/config/database.php
For postgres, this would be 'default' => 'postgres',
If you are receiving a [PDOException] could not find driver
error, check to see if you have the correct PHP extensions installed. You need pdo_pgsql.so
and pgsql.so
installed and enabled. Instructions on how to do this vary between operating systems.
For Windows, the pgsql
extensions should come pre-downloaded with the official PHP distribution. Just edit your php.ini
and uncomment the lines extension=pdo_pgsql.so
and extension=pgsql.so
Also, in php.ini
, make sure extension_dir
is set to the proper directory. It should be a folder called extensions
or ext
or similar inside your PHP install directory.
Finally, copy libpq.dll
from C:\wamp\bin\php\php5.*\
into C:\wamp\bin\apache*\bin
and restart all services through the WampServer interface.
If you still get the exception, you may need to add the postgres \bin
directory to your PATH
:
- System Properties -> Advanced tab -> Environment Variables
- In 'System variables' group on lower half of window, scroll through and find the
PATH
entry. - Select it and click Edit
- At the end of the existing entry, put the full path to your postgres bin directory. The bin folder should be located in the root of your postgres installation directory.
- Restart any open command prompts, or to be certain, restart your computer.
This should hopefully resolve any problems. For more information see:
- http://php.net/manual/en/install.pecl.windows.php
- http://webcheatsheet.com/php/install_and_configure.php#extsetup
Solution 2:
For PDOException: could not find driver
for MySQL
, and if it is Debian
based OS,
sudo apt-get -y install php5-mysql
Solution 3:
For PHP 7 in Ubuntu you can also do:
sudo apt-get install php7.0-pgsql
So, now you can do not uncomment lines in php.ini
UPD:
I have a same error, so problem was not in driver.
I changed my database.ini
, but every time I saw an error.
And I change database config in .env
and errors gone.
Solution 4:
This worked for me:
$ sudo apt-get install php-gd php-mysql
Solution 5:
I realize this is an old question but I found it in a Google search so I'm going to go ahead and answer just in case someone else runs across this. I'm on a Mac and had the same issue, but solved it by using HomeBrew. Once you've got it installed, you can just run this command:
brew install php56-pdo-pgsql
And replace the 56 with whatever version of PHP you're using without the decimal point.