2012-08-28 3 views
5

J'essaie de connecter MSSQL à PHP. Je suis le tutoriel this. Quoi qu'il en soit, après avoir ajouté les fichiers dll comme décrit dans ce tutoriel, je reçois l'avertissement suivant. Comment puis-je resoudre ceci ?php starup sqlsrv incapable d'initialiser le module

php starup sqlsrv unable to initialize module module compiled with module api=20090626 php compiled with module api=20020520 these options need to match 

Note: Je suis passé par cette post mais aucun aidé.

Répondre

11

On dirait que vous avez essayé d'installer l'extension sqlsrv pour PHP 5.3 sur un système PHP 5.2.

Soit exécuter <?php phpinfo(); ?> et recherchez la version php et recherchez les entrées suivantes:

  • PHP Version
  • Sécurité des threads

choisir le .dll approprié du pilote sqlsrv: le le numéro de version doit correspondre et si la sécurité du thread est activée, choisissez la version ts, sinon choisissez la version nts.

+0

C'est la 5.4.4 et la sécurité des threads est activée. D'où pourrais-je obtenir la bonne DLL? – Illep

+0

Le didacticiel auquel vous avez lié contient un lien vers le package de pilotes. Ce pacakage contient un fichier php_sqlsrv_54_ts.dll qui sonne bien. – VolkerK

+0

Oui, après avoir ajouté que j'obtiens l'erreur suivante 'Cette extension nécessite le client natif Microsoft SQL Server 2012. Accédez à l'URL suivante pour télécharger le pilote ODBC Microsoft SQL Server 2012 Native Client pour x86'. Comment puis-je resoudre ceci ? – Illep

8

Pour tous ceux qui essaient de l'obtenir pour travailler avec PHP 5.5 (PHP compilé avec l'API de module = 20121212), vous pouvez remplacer les fichiers DLL dans le dossier poste avec de nouveaux fichiers binaires mis à jour >here<

Ne pas oublier d'activer la nouvelles DLL dans la configuration php.

+0

Merci pour le pourboire! –

+0

Cela a fonctionné. Merci. – Ahsan