Laravel auf SQL Server (sqlsrv). [PDOException] nicht finden konnte-Treiber
Intro. Meine laravel-app wurde mit Hilfe von mysql, nun muss es gehostet wird, in das Netzwerk der Firma für die ich arbeite ( ich bin ein remote-Mitarbeiter). Und diese Unternehmen sind Microsoft guckt, so muss ich integrieren, laravel, um Ihre SQL Server.
Habe ich dieses in meine .env
DB_CONNECTION=sqlsrv
DB_HOST=ip.address.of.server
DB_PORT=3306
DB_DATABASE=my_db
DB_USERNAME=my_username
DB_PASSWORD=my_password
Nach der Verwendung der php artisan migrate
Fehler:
[PDOException]
could not find driver
Ich bin mit Ubuntu eine remote-box speziell für mich (von meinem Arbeitgeber). Ich habe versucht, mithilfe von sql server in meinem laravel-app vor (mit meinem Windows-PC). Soweit ich mich erinnere, bearbeitete ich einige Texte in der xampp php.ini. Als Neuling Linux-Benutzer sind, es ist zu schwer für mich (da war ich mit nur CLI).
BEARBEITET ( neue version )
So, ich habe bereits die verbindungen von Ubuntu auf dem Datenbank-server. Ich verwendet den die sqlcmd -S <host> -U <username>
und getestet habe ich die Abfragen (wie SELECT * from users_data
) und es funktioniert.
Nun, ich veränderte die config/database.php
und ich fügte hinzu, diese.
'sqlsrv' => [
'driver' => 'MSSQL',
'host' => env('DB_HOST', 'host.of.the.database'),
'database' => env('DB_DATABASE', 'my_database'),
'username' => env('DB_USERNAME', 'my_username'),
'password' => env('DB_PASSWORD', 'my_pass'),
'port' => '1433',
'prefix' => '',
],
aber ich bekam eine Fehlermeldung:
[InvalidArgumentException]
Unsupported driver [MSSQL]
"MSSQL" ist der name, den ich verwenden, um die Konfiguration FreeTDS.
Und dies kann sogar eine doppelte stackoverflow.com/questions/149395/...
Ich habe nach dieser askubuntu.com/questions/578934/mssql-connection-from-ubuntu , aber es verwendet, MSSQL, anstatt sqlsrv. Und ich kann nicht finden die /usr/local/etc/odbcinst.ini
Für mich odbcinst.ini war in /etc/odbcinst.ini ich weiß nicht, ob Sie eine Lösung gefunden habe für dies, aber ich habe das gleiche problem wie du. Ich kann eine Verbindung in Ordnung, meine Datenbank mit der Kommandozeile, aber php nicht sieht, der Fahrer.
Hi @VahnMartyCagalawan, ich habe das exakt gleiche problem. Haben Sie Behinderte, um es zu lösen.
InformationsquelleAutor Vahn Marty Cagalawan | 2016-10-04
Du musst angemeldet sein, um einen Kommentar abzugeben.
Für diejenigen, die kamen nach
Stellen Sie sicher, dass der PHP-version verwenden Sie (für mich homestead derzeit mit php 7.1, so dass ich installiert php7.1-sybase)
Und der Fahrer ist
Können Sie sicherstellen, dass die Informationen über die Verbindung korrekt ist, mithilfe der tsql -
haben Sie die Lösung gefunden? Ich habe auch das gleiche problem in windows.
InformationsquelleAutor Ad NAN
Hatte auch die
could not find driver
Fehler, das Problem gelöst nach installieren der folgenden Pakete:Jedoch bin ich mit der
sqlsrv
Treiber, hier meinconfig/database.php
:InformationsquelleAutor zapdev
Bei der Installation von sybase, sicherzustellen, dass es passt mit der version, die deine VM benutzt.
Laufen
und installieren Sie dann die richtige sybase version:
Wenn Sie mit encoding-Fehler, müssen Sie aktualisieren Sie Ihre freedts und php.ini-Konfiguration. Ändern Sie die /etc/freetds/freetds.conf sodass es wie folgt aussieht:
Fügen Sie diese zu Ihrem php.ini:
InformationsquelleAutor dardawk