Connexion PHP vers une base MS SQLServer distante

Administrateur PHPfrance
Administrateur PHPfrance | 11408 Messages

24 oct. 2018, 14:11

Bonjour,

Je cherche à connecter wamp sur une base SQL server.

// Client
Système : Windows 10
Serveur Apache : 2.4.33
Serveur PHP : 7.2.4

// Serveur
Système : Windows Server 2008 R2
Serveur BD : MS SQLServer 2008 R2

Partant du principe que "qui peut le plus, peut le moins", j'ai déposé les fichiers :
  • php_pdo_sqlsrv_72_nts_x64.dll
  • php_pdo_sqlsrv_72_ts_x64.dll
  • php_sqlsrv_72_nts_x64.dll
  • php_sqlsrv_72_ts_x64.dll
dans les dossiers C:\wamp64\bin\php et C:\wamp64\bin\php\php7.2.4 du poste client

J'ai inséré dans mon php.ini :
extension = php_sqlsrv_72_nts_x64.dll
extension = php_pdo_sqlsrv_72_nts_x64.dll

J'appelle mon fichier init.php :
define('DB_HOST','ww2.trucmuche.com');
define('DB_BASE','INTRANET');
define('DB_USER','***************');
define('DB_PASS','***************');

// Connexion
$connectionInfo = array("Database"=>DB_BASE, "UID"=>DB_USER, "PWD"=>DB_PASS);
$dbase = sqlsrv_connect(DB_HOST, $connectionInfo);

et ça me pète :
(!) Fatal error: Uncaught Error: Call to undefined function sqlsrv_connect() in D:\www\intranet\init.php on line 33
(!) Error: Call to undefined function sqlsrv_connect() in D:\www\intranet\init.php on line 33

Qu'est-ce que c'est que j'ai oublié ?
Où que c'est que j'ai merdu ?

Merci,

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 8306 Messages

24 oct. 2018, 21:21

Tu as bien redémarré Apache ?

Lance un phpinfo et regarde :
1) le répertoire où tu dois mettre les extensions : extension_dir
2) si le support de PDO SQL server est activé, recherche une ligne pdo_sqlsrv dans la section PDO

Regarde les logs d'erreurs Apache et PHP, voir si il n'y a pas une piste
Quand tout le reste a échoué, lisez le mode d'emploi...