Я пытаюсь подключиться к базе данных PostgreSQL через Laravel, чтобы выполнить миграцию php-artisan, но не кажется, что она направлена, поскольку она считывает имя базы данных MySQL.
Вот команды из базы данных.php:
'connections' => array( 'sqlite' => array( 'driver' => 'sqlite', 'database' => __DIR__.'/../database/production.sqlite', 'prefix' => '', ), 'mysql' => array( 'driver' => 'mysql', 'host' => 'localhost', 'database' => 'database', 'username' => 'root', 'password' => '', 'charset' => 'utf8', 'collation' => 'utf8_unicode_ci', 'prefix' => '', ), 'pgsql' => array( 'driver' => 'pgsql', 'host' => 'localhost', 'database' => 'postgres', 'username' => 'postgres', 'password' => 'root', 'charset' => 'utf8', 'prefix' => '', 'schema' => 'public', ), 'sqlsrv' => array( 'driver' => 'sqlsrv', 'host' => 'localhost', 'database' => 'database', 'username' => 'root', 'password' => '', 'prefix' => '', ), ), Если я удалю пути MySQL, я получу:
 [InvalidArgumentException] Database [mysql] not configured. 
php.ini был проверен в Apache, WAMP (из папки php) и PostgreSQL.  extension_dir является правильным, поскольку это -> extension_dir = "c:/wamp/bin/php/php5.5.12/ext/" 
  extension=pdo_pgsql.dll и extension=pgsql.dll . 
  Сделал трюк PATH в «Системных переменных» и перезагрузился.  Без шансов. 
Спасибо за помощь до сих пор.
  Это мои драйверы php_pdo_driver.h и php_pdo.h из C:\Program Files (x86)\PostgreSQL\EnterpriseDB-ApachePHP\php\SDK\include\ext\pdo 
Информация от phpinfo:
Версия PHP 5.5.12
Компилятор MSVC11 (Visual C ++ 2012) Настроить команду cscript / nologo configure.js "–enable-snapshot-build" "–disable-isapi" "–enable-debug-pack" "–without-mssql" "- без-pdo-mssql "" –without-pi3web "" –with-pdo-oci = C: \ php-sdk \ oracle \ x64 \ instantclient10 \ sdk, shared "" –with-oci8 = C: \ php -sdk \ oracle \ x64 \ instantclient10 \ sdk, shared "" –with-oci8-11g = C: \ php-sdk \ oracle \ x64 \ instantclient11 \ sdk, shared "" –enable-object-out-dir = ../obj/ "" –enable-com-dotnet = shared "" –with-mcrypt = static "" –disable-static-analysis "" –with-pgo "
  Не забудьте настроить 'default' ключ в app/config/database.php 
  Для postgres это будет 'default' => 'postgres', 
  Если вы получаете [PDOException] could not find driver ошибку [PDOException] could not find driver , проверьте, установлены ли у вас правильные расширения PHP.  Вам необходимо установить и включить pdo_pgsql.so и pgsql.so .  Инструкции о том, как это сделать, различаются между операционными системами. 
  Для Windows расширения pgsql должны быть предварительно загружены официальным дистрибутивом PHP.  Просто отредактируйте свой php.ini и раскомментируйте extension=pdo_pgsql.so линий extension=pdo_pgsql.so и extension=pgsql.so 
  Кроме того, в php.ini убедитесь, что extension_dir установлен в соответствующий каталог.  Это должна быть папка с именем extensions или ext или аналогичная внутри вашего каталога установки PHP. 
  Наконец, скопируйте libpq.dll из C:\wamp\bin\php\php5.*\ C:\wamp\bin\apache*\bin и перезапустите все службы через интерфейс WampServer. 
  Если вы все еще получаете исключение, вам может потребоваться добавить каталог postgres \bin в ваш PATH : 
PATH . Это должно с надеждой решить любые проблемы. Для получения дополнительной информации см .:
  Для PDOException: could not find driver для MySQL , и если это ОС на базе Debian , 
 sudo apt-get -y install php5-mysql 
Я понимаю, что это старый вопрос, но я нашел его в поиске Google, поэтому я собираюсь идти дальше и отвечать на случай, если кто-то еще столкнется с этим. Я нахожусь на Mac и имею ту же проблему, но решил ее, используя HomeBrew . После того, как вы его установили, вы можете просто запустить эту команду:
 brew install php56-pdo-pgsql 
И замените 56 любой версией PHP, которую вы используете, без десятичной точки.
Для PHP 7 в Ubuntu вы также можете:
 sudo apt-get install php7.0-pgsql 
  Итак, теперь вы можете не раскомментировать строки в php.ini 
  UPD: У меня такая же ошибка, поэтому проблема не в драйвере.  Я изменил свой database.ini , но каждый раз, когда я видел ошибку.  И я меняю конфигурацию базы данных в .env и ошибки ушли. 
Я была такая же проблема. Это то, что сработало для меня.
Есть 2 файла php.ini:
ПРИМЕЧАНИЕ. Это использование моей версии PHP и Apache, изменения в соответствии с вашими.
Файл php.ini, расположенный в обеих папках, – это то, что вам нужно обновить, расширения:
Это то, что вам нужно раскомментировать (удалить символ;).
Перезапустите Wamp и командную строку.
Надеюсь, это сработает для вас :).
Это сработало для меня:
 $ sudo apt-get install php-gd php-mysql 
Для тех, кто хочет использовать Postgresql в OpenSuse (и co), попробуйте следующее:
 zypper --no-refresh in php5-pgsql 
  установите значение по умолчанию 'default' => 'sqlite'; 
check – http://three.laravel.com/docs/database/config
и это – настройка PostgreSQL с Laravel в MAMP
  Старая нить я знаю, но я потерял пару часов своей жизни с этим.  Вам также необходимо установить информацию о БД в файл .env.  Вам здесь не нужно указывать драйвер, потому что используется значение по умолчанию, указанное в файле database.php (я думаю).  Я боролся, потому что в DB_CONNECTION=mysql был DB_CONNECTION=mysql и я использовал pgsql. 
Это сработало для меня:
 $ sudo apt-get -y install php5.6-pgsql $ sudo service apache2 restart 
Я работаю с 32-битным Ubuntu 14
В моем случае у меня было две версии PHP. Так что все, что мне нужно было сделать, это использовать
  $ /opt/lampp/bin/php artisan serve вместо 
 $ php artisan serve 
 sudo apt-get install php7.1-pgsql