2016-07-15 11 views
5

Ich arbeite an einem Laravel 5.1-Projekt, das eine Verbindung zu einer vorhandenen MS SQL Server-Datenbank herstellen muss. Mein Projekt befindet sich derzeit auf einem Ubuntu 16.04 LTS Server mit Apache 2.4.18. Ich habe die Microsoft ODBC-Linux-Treiber für SQL Server (Version 13.0.0.0) auf dem Rechner installiert und getestet es manuell mit dem sqlcmd-Befehl:Laravel: PDO Ausnahme, Treiber kann nicht gefunden werden, obwohl der Treiber installiert und getestet ist

sqlcmd -S DatabaseIPAddress -U DatabaseUsername 

Alles hat gut funktioniert. Ich kann mich an der Datenbank kein Problem anmelden. Wenn ich aber meine Datenbank mit php artisan migrieren will, funktioniert das nicht. Ich erhalte den Fehler:

[PDOException] 
    could not find driver 

ich dies als die Einrichtung in database.php habe:

'sqlsrv' => [ 
      'driver' => 'sqlsrv', 
      'host'  => env('DB_HOST', 'localhost'), 
      'database' => env('DB_DATABASE', 'forge'), 
      'username' => env('DB_USERNAME', 'forge'), 
      'password' => env('DB_PASSWORD', ''), 
      'charset' => 'utf8', 
      'prefix' => '', 
], 

Die Datenbank-Login-Informationen werden in der Datei .env und SQL Server gespeichert wird, als die eingestellte Standard:

'default' => env('DB_CONNECTION', 'sqlsrv'), 

Irgendwelche Hilfe, was könnte los sein? Ich habe eine Reihe von Beiträgen im Internet gelesen (here und here). Die Leute hatten ähnliche Probleme mit verschiedenen Arten von Datenbanken. Sie mussten die Konfiguration ihrer php.ini-Datei ändern und einige Zeilen über Erweiterungen hinzufügen. Vielleicht etwas in dieser Richtung? Ich habe ein paar verschiedene Dinge in der php.ini-Datei versucht, dass ich dachte funktionieren könnte, wie zum Beispiel:

; This is the extension for the Microsoft SQLSRV ODBC Driver. 
; The driver seems to be located at this file path. 
extionsion=/opt/microsoft/msodbcsql/lib64/libmsodbcsql-13.0.so.0.0 

neu gestartet, getestet, aber ohne Erfolg. Ich habe meinen Kopf eine Weile gegen die Wand geschlagen. Jede Hilfe würde sehr geschätzt werden. Vielen Dank.

+3

http://stackoverflow.com/questions/18213907/how-to-use-sql-server-connection-in-laravel –

+1

Ehrfürchtig, danke! Das ist mit der leichten Modifikation von php7.0-sybase gelungen. Vielen Dank! Entschuldigung, ich habe diesen Beitrag in meiner Recherche verpasst. – Keegan

Antwort

2

Folgen Sie diesen Schritten
sudo apt-get install php5-mssql
aktualisieren /etc/freetds/freetds.conf

[global] 
# TDS protocol version 
; tds version = 4.2 
tds version = 8.0 
client charset = UTF-8` 

diese Zeile php.ini hinzufügen

mssql.charset = "UTF-8" 

Referenz: Laracast discussion