[RESOLU] Erreur could not find driver

Souricette
Invité n'ayant pas de compte PHPfrance

05 janv. 2021, 11:07

Bonjour :)
Débutante en PHP, je m'occupe d'un site sous Wordpress. Les champs des pages profils des utilisateurs sont affichées grâce à une requête qui va chercher les information dans un logiciel RH interne à l'entreprise. Jusque là tout va bien. La requête est bonne puisque tout marche bien sur le site en production.
J'ai crée un doublon de ce site en version locale pour effectuer des tests. J'utilise le logiciel Local anciennement nommé Localbyflywheel. Sur cette version locale, sur les pages profils j'ai cette erreur qui apparaît en face de chaque champ: could not find driver

Quand j'ouvre la configuration PHP du logiciel Local, j'ai:
PDO drivers: mysql
On m'a expliqué qu'il manque un driver sql server.
A cet effet, j'ai suivi cette documentation : https://docs.microsoft.com/fr-fr/sql/co ... rver-ver15

1) J'ai donc téléchargé le fichier de pilotes. Ma version PHP sur Local est 7.4.1, 64bits, no thread safe. Donc les deux pilotes dont j'ai besoin sont php_sqlsrv_74_nts.dll 64 bits et php_pdo_sqlsrv_74_nts.dll 64 bits
2) J’ai placé les deux pilotes dans mon extension_dir (en suivant bien le chemin de fichier indiqué dans mon document de config php). Puis dans le php.ini correspondant également au chemin indiqué.(donc pas d'erreur de fichier possible).
J'ai également rajouté dans le php.ini le chemin de fichier de extension_dir
extension_dir="le_chemin_indiqué_dans_ma_config_php"
3) Pour que les pilotes puissent charger au démarrage de PHP j'ai rajouté dans le php.ini dans load extensions :
extension=php_pdo_sqlsrv_74_nts_x64.dll
extension=php_sqlsrv_74_nts_x64.dll
extension=php_pdo_mysql.dll

J'ai relancé le logiciel Local. J'ai tout éteint, tout relancé.
Et ça ne fonctionne pas, je suis complètement perdue. #-o

Souricette
Invité n'ayant pas de compte PHPfrance

05 janv. 2021, 17:03

Problème résolu !
Il s'agissait d'un changement dans la configuration de Local.
Maintenant il faut déclarer les extensions dans le php ini qui se trouve dans le dossier du site dans conf\php\php.ini.hbs
Puis j'ai installé ODBC Driver et ça fonctionne.