J'ai cherché toute la journée pour trouver une solution pour sqlsrv dll sur php 7 VC14 x64 Thread Safe et je n'ai pas trouvé de solution. Est-ce que quelqu'un a résolu ce problème:
[04-Oct-2015 19:48:05 UTC] PHP Warning: PHP Startup: pdo_sqlsrv: Unable to initialize module
Module compiled with module API=20131226
PHP compiled with module API=20141001
These options need to match
in Unknown on line 0
Voici mes informations php7 RC4:
System Windows NT 6.0 build 6002 (Windows Server 2008 Standard Edition Service Pack 2) AMD64
Build Date Sep 29 2015 17:15:28
Compiler MSVC14 (Visual C++ 2015)
Architecture x64
sqlsrv n'est pas encore prêt pour PHP7 mais ce n'est pas vrai. Il n'a pas été publié depuis 2012. La dernière version date de mai 2015. Maintainer est Microsoft et la version pour PHP7 est prévue pour le début de l'année prochaine.
https://github.com/Azure/msphpsql/issues/58
Mettre à jour:
Le pilote est disponible pour PHP jusqu'à la version 7.1, même pour Linux aujourd'hui (mars 2017).
Pour référence future (testé sur Windows 7 avec Xampp et PHP 7.0.13):
Téléchargez et installez ODBC les pilotes ici: https://www.Microsoft.com/en-US/download/details.aspx?id=36434
Téléchargez la DLL ici (les versions 7.0 et 7.1 peuvent être trouvées): https://github.com/Microsoft/msphpsql/releases
Ouvrez votre fichier "php.ini} _" et recherchez la ligne "extension_dir". Cela vous indiquera où placer les fichiers DDL. Note: Sous Xampp, cela devrait ressembler à: "C:\xampp\php\ext"
Exemple de code à tester:
$db = "the name of your database"
$password = "password";
$server = "IP address or named pipe";
$user = "username"
try {
$connection = new PDO(
"sqlsrv:Server=" . $server .
";Database=" . $db,
$password,
$user
);
$connection->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (PDOException $exception) {
var_dump($exception);
}
Pour mémoire, le lien direct vers les bibliothèques du serveur SQL est ici
La version 32 et 64 bits est-elle à la fois pour ts et nts?