Laravel pour SQL Server (sqlsrv). [PDOException] ne pourrait pas trouver le pilote
Intro. Mon laravel application a été l'utilisation de mysql, maintenant il doit être hébergé dans le réseau de l'entreprise pour laquelle je travaille ( je suis une distance de travail). Et cette compagnie sont de Microsoft jette un coup d'oeil, j'ai donc besoin d'intégrer les laravel à leurs SQL Server.
J'ai ceci dans mon .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
Après l'utilisation de la php artisan migrate
Erreur:
[PDOException]
could not find driver
J'utilise Ubuntu, une télécommande zone dédiée pour moi (de mon employeur). J'ai essayé à l'aide de sql server dans mon laravel application avant (à l'aide de mon PC sous Windows). Aussi loin que je me souvienne, j'ai édité quelques textes dans le xampp php.ini. Comme un débutant à l'utilisateur de Linux, c'est trop dur pour moi (depuis que j'ai été en utilisant uniquement de la CLI).
ÉDITÉ ( nouvelle version )
Donc j'ai déjà eu la connectivité à partir d'Ubuntu pour le serveur de Base de données. J'ai utilisé le sqlcmd -S <host> -U <username>
et j'ai testé les requêtes (comme SELECT * from users_data
) et cela fonctionne.
Maintenant, j'ai modifié le config/database.php
et j'ai ajouté ce.
'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' => '',
],
mais j'ai une Erreur:
[InvalidArgumentException]
Unsupported driver [MSSQL]
"MSSQL" est le nom que j'utilise pour configurer le FreeTDS.
Et cela peut même être un doublon stackoverflow.com/questions/149395/...
J'ai suivi ce askubuntu.com/questions/578934/mssql-connection-from-ubuntu , mais il utilise MSSQL plutôt que sqlsrv. Et je ne peut pas localiser le fichier /usr/local/etc/odbcinst.ini
Pour moi, odbcinst.ini est dans /etc/odbcinst.ini je ne sais pas si vous avez trouvé une solution pour cela, mais je vais avoir le même problème que vous. Je peux me connecter amende à ma base de données avec la ligne de commande, mais php ne voit pas le pilote.
Salut @VahnMartyCagalawan, j'ai exactement le même problème. Avez-vous été en mesure de le résoudre.
OriginalL'auteur Vahn Marty Cagalawan | 2016-10-04
Vous devez vous connecter pour publier un commentaire.
Pour ceux qui sont venus après
Assurez-vous de la version de PHP que vous utilisez (pour moi homestead actuellement à l'aide de php 7.1, j'ai donc installé php7.1-sybase)
Et le pilote est
Vous pouvez assurez-vous que les informations de connexion sont correctes à l'aide de tsql
avez-vous trouvé la solution? J'ai également le même problème dans windows.
OriginalL'auteur Ad NAN
Également eu l'
could not find driver
erreur, résolu le problème après l'installation de paquetages suivants:Cependant, je suis en utilisant le
sqlsrv
pilote, voici monconfig/database.php
:OriginalL'auteur zapdev
Lors de l'installation de sybase, s'assurer qu'elle corresponde à la version de votre VM utilise.
Exécuter
et ensuite installer le droit sybase version:
Si vous obtenez des erreurs de codage, vous devrez mettre à jour votre freedts et php.ini de configuration. Modifier le /etc/freetds/freetds.conf afin qu'il ressemble à:
Ajouter à votre php.ini:
OriginalL'auteur dardawk