Acabo de tener este problema yo mismo. Finalmente lo arreglé, así que pensé en compartirlo.
El problema era que, aunque tenía instalada la dll sqlsrv (copiada en mi carpeta php/ext), y Lo agregué en mi php.ini, en IIS, estaba 'deshabilitado' .
Aquí hay algunas instrucciones paso a paso, en caso de que alguien tenga este mismo problema nuevamente. (O para futuras referencias para mí :))
-
Descargue (e instale) los controladores de SQL Server (.dll)
- Instálelos ejecutando el .exe y escribiendo la ruta a la carpeta de extensiones de php cuando le pregunte dónde descomprimirlos.
- Para encontrar su directorio de extensión actual, ejecute (cmd.exe)
php -i | more
y busque la líneaextension_dir
. (Para mí fue en la cuarta pulsación demore
). Alternativamente, cree un archivo php simple que contenga solo<?php phpinfo(); ?>
y ejecútelo en el navegador. Esto le dará la misma información, pero en un formato mucho más fácil de leer.
- Para encontrar su directorio de extensión actual, ejecute (cmd.exe)
- Instálelos ejecutando el .exe y escribiendo la ruta a la carpeta de extensiones de php cuando le pregunte dónde descomprimirlos.
-
Agrega la extensión a tu php.ini
- Para encontrar el php.ini correcto, ejecute
php -i | more
de nuevo, buscandoLoaded Configuration File
, o verifique ese simple script php nuevamente (le recomiendo que lo haga, le ahorrará tiempo y esfuerzo). La ruta que encuentra allí es el archivo que necesita editar. -
Agregue las siguientes líneas a su php.ini y guárdelo:
[PHP_SQLSRV] extention=php_sqlsrv_56_nts.dll
- Para encontrar el php.ini correcto, ejecute
-
Habilite la extensión en el Administrador de IIS
- En el menú de inicio, escriba
IIS Manager
y presione enter. - Haga clic en el nombre de su servidor en la barra lateral izquierda
- Haga clic en
PHP Manager
- En
PHP Extensions
, haga clic enEnable or Disable an Extension
. - Si su extensión no está
Enabled
, busca enDisabled
para ello. Cuando lo encuentre, haga clic derecho sobre él y haga clic enEnable
en el menú contextual que aparece.
- En el menú de inicio, escriba
-
Prueba para asegurarte de que funcionó
- Abre ese
phpinfo()
página que creó (lo hizo, ¿no es cierto?) y busque enRegistered PHP Streams
. Si vesqlsrv
en esa lista, ¡ya está!
- Abre ese