web-dev-qa-db-fra.com

PHP Erreur fatale: appel de la fonction non définie mssql_connect ()

Je n'ai jamais utilisé php auparavant et j'essaie de me connecter à une instance SQL Server 2008 sur une machine Windows exécutant IIS7 et PHP 5.3.

J'ai téléchargé et installé SQLSRV30.EXE à partir de ici dans C:\Program Files (x86)\PHP\ext ajouté ceci à C:\Program Files (x86)\PHP\php.ini:

extension=php_sqlsrv_53_nts.dll

Puis redémarré tout le serveur. J'ai toujours des erreurs fatales dans mon fichier journal en disant:

PHP Fatal error:  Call to undefined function mssql_connect()

Que dois-je faire pour me connecter à Microsoft SQL Server 2008 à partir de PHP 5.3 s'exécutant sur IIS7/Windows Server 2008? Je suis sûr que c'est quelque chose de vraiment stupide qui me manque ...

PLEIN PHPINFO ->http://demo.mandibleweb.com/zapified/hello.php

phpinfo (): 

PHP Version 5.3.10





System 

Windows NT MWD001 6.1 build 7601 (Windows Server 2008 R2 Standard Edition Service Pack 1) i586 



Build Date 

Feb 2 2012 20:10:58 



Compiler 

MSVC9 (Visual C++ 2008) 



Architecture 

x86 



Configure Command 

cscript /nologo configure.js "--enable-snapshot-build" "--enable-debug-pack" "--disable-zts" "--disable-isapi" "--disable-nsapi" "--without-mssql" "--without-pdo-mssql" "--without-pi3web" "--with-pdo-oci=C:\php-sdk\Oracle\instantclient10\sdk,shared" "--with-oci8=C:\php-sdk\Oracle\instantclient10\sdk,shared" "--with-oci8-11g=C:\php-sdk\Oracle\instantclient11\sdk,shared" "--with-enchant=shared" "--enable-object-out-dir=../obj/" "--enable-com-dotnet" "--with-mcrypt=static" "--disable-static-analyze" 



Server API 

CGI/FastCGI 



Virtual Directory Support 

disabled 



Configuration File (php.ini) Path 

C:\Windows 



Loaded Configuration File 

C:\Program Files (x86)\PHP\php.ini 
17
Greg

Je viens d'essayer d'installer cette extension sur mon serveur dev.

Tout d'abord, assurez-vous que l'extension est correctement activée. Votre sortie phpinfo() ne semble pas complète.

S'il est bien installé correctement, votre phpinfo() devrait avoir une section ressemblant à ceci: enter image description here

Si vous n'obtenez pas cette section dans votre phpinfo(). Assurez-vous que vous utilisez la bonne version. Il existe à la fois des versions non thread-safe et thread-safe de l'extension.

Enfin, vérifiez votre paramètre extension_dir. Par défaut, c'est ceci: extension_dir = "ext", la plupart du temps, cela fonctionne bien, mais si cela n’essaye pas: extension_dir = "C:\PHP\ext".

=============================================== =========================

EDIT compte tenu des nouvelles informations:

Vous utilisez la mauvaise fonction. mssql_connect() fait partie de Mssql extension. Vous utilisez l'extension Microsoft, utilisez donc sqlsrv_connect() pour que l'API du pilote Microsoft examine SQLSRV_Help.chm qui doit être extrait dans votre répertoire ext lors de l'extraction de l'extension.

31
F21

php.ini doit probablement lire: extension=ext\php_sqlsrv_53_nts.dll

Ou déplacez le fichier dans le même répertoire que l'exécutable php. C’est ce que j’ai fait à mon installation php5 cette semaine pour que odbc_pdo fonctionne. : P

De plus, cela ne ressemble pas à la sortie phpinfo () appropriée. Si vous créez un fichier avec un contenu
<? phpinfo(); ?> et visitez cette page, la sortie HTML devrait afficher plusieurs sections, dont une avec les modules chargés. (Modifié pour ajouter: comme indiqué dans la capture d'écran de la réponse acceptée ci-dessus)

1
Chris K

J'utilise IIS et mysql (directement téléchargés, sans wamp ni xampp) Mon php était installé dans c:\php J'obtenais l'erreur "appel à la fonction non définie mysql_connect ()" Pour moi le changement de extension_dir a fonctionné . C'est ce que j'ai fait . Dans le fichier php.ini, à l'origine, j'avais cette ligne

; Sur les fenêtres: extension_dir = "ext"

Je l'ai changé pour:

; Sur les fenêtres: extension_dir = "C:\php\ext"

Et ça a fonctionné. Bien sûr, j’ai fait les autres choses aussi, comme décommenter les extensions de DLL, etc., comme expliqué dans d’autres remarques.

0
M Shiraz Baig