uncaught sqlsrv_select_db sqlsrv_connect mssql_connect mssql microsoft for error php sql-server iis iis-7

php - sqlsrv_connect - sqlsrv_select_db



Error grave de PHP: llamada a la funciĆ³n no definida mssql_connect() (3)

Nunca antes había usado php y estoy tratando de conectarme a una instancia de SQL Server 2008 en una máquina con Windows que ejecuta IIS7 y PHP5.3.

He descargado e instalado SQLSRV30.EXE desde aquí en C:/Program Files (x86)/PHP/ext agregué esto a C:/Program Files (x86)/PHP/php.ini :

extension=php_sqlsrv_53_nts.dll

Luego reinició todo el servidor. Aún recibo errores fatales en mi archivo de registro que dicen:

PHP Fatal error: Call to undefined function mssql_connect()

¿Qué debo hacer para conectarme a Microsoft SQL Server 2008 desde PHP 5.3 que se ejecuta en IIS7 / Windows Server 2008? Estoy seguro de que es algo realmente tonto que me estoy perdiendo ...

FULL 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


Acabo de intentar instalar esa extensión en mi servidor de desarrollo.

Primero, asegúrese de que la extensión esté habilitada correctamente. Su salida phpinfo() no parece completa.

Si de hecho está instalado correctamente, su phpinfo() debería tener una sección que se vea así:

Si no obtiene esa sección en su phpinfo() . Asegúrese de estar utilizando la versión correcta. Hay versiones de la extensión que no son seguras para subprocesos y para subprocesos.

Finalmente, verifica tu configuración de extension_dir . Por defecto es esto: extension_dir = "ext" , la mayor parte del tiempo funciona bien, pero si no lo intenta: extension_dir = "C:/PHP/ext" .

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

EDITAR dada nueva información:

Estás usando la función incorrecta. mssql_connect() es parte de la extensión Mssql . Está utilizando la extensión de Microsoft, así que use sqlsrv_connect() , para la API para el controlador de Microsoft, mire SQLSRV_Help.chm que debe extraerse a su directorio ext cuando extraiga la extensión.


php.ini probablemente necesite leer: extension=ext/php_sqlsrv_53_nts.dll

O mueva el archivo al mismo directorio que el ejecutable php. Esto es lo que hice en mi instalación de php5 esta semana para que funcione odbc_pdo. :PAG

Además, eso no se parece a la salida phpinfo () correcta. Si haces un archivo con contenido
<? phpinfo(); ?> <? phpinfo(); ?> y visite esa página, la salida HTML debe mostrar varias secciones, incluida una con módulos cargados. (Editado para agregar: como se muestra en la captura de pantalla de la respuesta aceptada anteriormente)


Estoy usando IIS y mysql (directamente descargado, sin wamp o xampp) Mi php fue instalado en c: / php Estaba obteniendo el error de "llamar a la función indefinida mysql_connect ()" Para mí, el cambio de extension_dir funcionó. Esto es lo que hice. En el php.ini, originalmente, tenía esta línea

; En Windows: extension_dir = "ext"

Lo cambié a:

; En Windows: extension_dir = "C: / php / ext"

Y funcionó. Por supuesto, hice las otras cosas, como quitar el comentario de las extensiones dll, etc., como se explica en otros comentarios.