2016-04-12 4 views
1

Ich bin neu in Laravel. Ich bin gerade von mysql nach postgresql gewandert und habe es geschafft, alle meine Tabellen zu migrieren und sie per Tinker zu säen. Alle meine Versuche, die Autoreparatur-Laravelauth zu verwenden, die an mysql und meinen SQL-Abfragen arbeitete, kehren jedoch zurück.PDO-Ausnahme nur für PostgreSQL-Verbindungen in Laravel aber Handwerker Befehle arbeiten

PDOException in Connector.php line 55: 
could not find driver in Connector.php line 55 
at PDO->__construct('pgsql:host=localhost;dbname=dbname;port=5432','postgres', 'password', array('0', '2', '0', false)) in Connector.php line 55 

Ich habe Stunden damit verbracht, nach Lösungen für dieses Problem suchen, habe ich unkommentiert extension = php_pgsql.dll & extension = php_pdo_pgsql.dll in der Produktion und Entwicklung php.ini-Dateien, ich habe Loadfile „c hinzugefügt:/mamp/bin/php/php5.6.13/libpq.dll "zu hhtp.con im Apache-Ordner, ich habe Composer-Dump-Autoload. Die Abfragen von Laravel werden nicht im Postgres-Fehlerprotokoll angezeigt, das die Migrationsbefehle ausführen. Und ich kann mich nicht erinnern, wie ich überprüft, aber es schien, wurde das PDO-Modul

installiert

mein database.php

'default' => env('DB_CONNECTION', 'pgsql'), 
'pgsql' => [ 
     'driver' => 'pgsql', 
     'host' => env('DB_HOST', 'localhost'), 
     'port' => env('DB_PORT', '5432'), 
     'database' => env('DB_DATABASE', 'forge'), 
     'username' => env('DB_USERNAME', 'forge'), 
     'password' => env('DB_PASSWORD', ''), 
     'charset' => 'utf8', 
     'prefix' => '', 
     'schema' => 'public', 
    ], 

mein env

APP_URL=http://localhost 
DB_HOST=localhost 
DB_DATABASE=database 
DB_USERNAME=postgres 
DB_PASSWORD=password 
APP_ENV=local 
APP_DEBUG=true 

CACHE_DRIVER=file 
SESSION_DRIVER=file 
QUEUE_DRIVER=sync 

REDIS_HOST=127.0.0.1 
REDIS_PASSWORD=null 
REDIS_PORT=6379 

MAIL_DRIVER=smtp 
    MAIL_HOST=mailtrap.io 
MAIL_PORT=2525 
MAIL_USERNAME=null 
MAIL_PASSWORD=null 
MAIL_ENCRYPTION=null 

Bitte Gott mir eine Antwort geben

C:\MAMP\htdocs\storybox1.0\public>php -r "print_r(get_loaded_extensions());" 
Array 
(
[0] => Core 
[1] => bcmath 
[2] => calendar 
[3] => com_dotnet 
[4] => ctype 
[5] => date 
[6] => ereg 
[7] => filter 
[8] => hash 
[9] => iconv 
[10] => json 
[11] => mcrypt 
[12] => SPL 
[13] => odbc 
[14] => pcre 
[15] => Reflection 
[16] => session 
[17] => sockets 
[18] => standard 
[19] => mysqlnd 
[20] => tidy 
[21] => tokenizer 
[22] => zip 
[23] => zlib 
[24] => libxml 
[25] => dom 
[26] => PDO 
[27] => pdo_mysql 
[28] => openssl 
[29] => SimpleXML 
[30] => soap 
[31] => wddx 
[32] => xml 
[33] => xmlreader 
[34] => xmlwriter 
[35] => curl 
[36] => mbstring 
[37] => Phar 
[38] => pdo_pgsql 
[39] => pgsql 

)

+0

Mache eine PHP Datei, die nur ' Chris

+0

Bitte beachten Sie: Der PHP-Interpreter der Befehlszeile lädt nicht notwendigerweise die gleiche php.ini-Datei wie das Apache-Modul oder andere SAPIs. –

+0

Es scheint geladen zu werden, ich benutze Mamp Wo würde die Apache php.ini sein? –

Antwort

0

Ich muss einen Computer zu lange suchen, Mein PHP.ini-Pfad von phpinfo() war anders als der, den ich betrachtete. Danke Alvaro und Chris, du hattest recht die php.ini Datei war in mamp/config nicht mamp/bin/php