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
installiertmein 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
)
Mache eine PHP Datei, die nur ' Php phpinfo(); 'enthält und überprüfe ob das' php_pdo_pgsql' Modul ist hat tatsächlich geladen. – Chris
Bitte beachten Sie: Der PHP-Interpreter der Befehlszeile lädt nicht notwendigerweise die gleiche php.ini-Datei wie das Apache-Modul oder andere SAPIs. –
Es scheint geladen zu werden, ich benutze Mamp Wo würde die Apache php.ini sein? –