Configuración PHP 7 con MS SQL Server en servidor web IIS y Apache

Cabe destacar que PHP7 es casi imprescindible en cualquier nuevo desarrollo web, por todas las optimizaciones y mejoras realizadas. Normalmente cuando trabajamos con cualquier web utilizamos mysql, pero si queréis trabajar con MS SQL Server o es inevitable porque ya tenéis otro sistema trabajando con dicha base de datos, deberemos hacer ciertas configuraciones para que podamos acceder a ella desde PHP.

Para configurar PHP7 con MS SQL Server, debemos realizar los siguientes pasos:

  1. Crear fichero “phpinfo.php” en la raíz de nuestra web con el siguiente contenido:
<?php
echo phpinfo();
?>
  1. Ejecutar el fichero desde el navegador (http://sitioweb/phpinfo.php). A continuación aparecerá toda la configuración de nuestra instalación de PHP:

Debemos fijarnos en los siguientes parámetros de configuración:

phpinfo

 

  • PHP Version: 7.0.9
  • Architecture: x86
  • Compiler: MSVC14 (Visual C++ 2015)
  • Thread Safety: enabled
  1. Descargar el driver sqlsrv según nuestra versión de PHP desde https://www.microsoft.com/en-us/download/details.aspx?id=20098. Por ejemplo, para PHP 7, deberemos descargar la versión SQLSRV40.EXE:

driver sqlserver

 

Al descomprimir el archivo descargado, deberemos coger el fichero que corresponda a nuestra configuración PHP (parámetros “Architecture” y “Thread Safety”). Por ejemplo:

  • Para x86 y Thread Safety habilitado: php_sqlsrv_7_ts_x86.dll
  • Para x86 y Thread Safety deshabilitado: php_sqlsrv_7_nts_x86.dll
  • Para x64 y Thread Safety habilitado: php_sqlsrv_7_ts_x64.dll
  • Para x64 y Thread Safety deshabilitado: php_sqlsrv_7_nts_x64.dll

Debemos copiar este fichero en la carpeta “PHP/ext”. Abrimos el fichero “php.ini” y buscamos la sección “Dynamic Extensions”, para cargar al final de dicha sección el fichero que acabamos de copiar. Por ejemplo, en nuestro caso quedaría así:

Configuración SQL Server

 

  • NOTA: Evidentemente debe estar sin “;” al principio, ya que estos indican que están desactivados.
  1. Descargar e instalar “Visual C++ Redistributable”, según la versión que nos apareció en la página de configuración de PHP. En nuestro caso “MSVC14 (Visual C++ 2015)”, el cual podemos descargarlo desde https://www.microsoft.com/es-ES/download/details.aspx?id=48145.
  1. Descargar e instalar “Microsoft ODBC Driver for SQL Server”. Podemos descargar cualquiera de estas versiones:
    – ODBC Driver 13 (https://www.microsoft.com/es-ES/download/details.aspx?id=50420): Compatible con SQL Server 2008, SQL Server 2008 R2, SQL Server 2012, SQL Server 2014 y SQL Server 2016.
    – ODBC Driver 11 (https://www.microsoft.com/es-ES/download/details.aspx?id=36434): Compatible con SQL Server 2005, SQL Server 2008, SQL Server 2008 R2 y SQL Server 2012.

Una vez instalado y configurado todo, reiniciamos Apache o IIS y debería funcionar la conexión perfectamente.

Configuración PHP 7 con MS SQL Server en servidor web IIS y Apache
Valora este post

Rubén González Platas

Programador web. Ayudo a empresas y emprendedores a crear su web corporativa y canal de venta online. ¿Tienes un proyecto en mente y no sabes cómo llevarlo a cabo? Contacta conmigo y te ayudaré.

10 comentarios en “Configuración PHP 7 con MS SQL Server en servidor web IIS y Apache

  1. Buenas
    me sale este mensaje

    Fatal error: Uncaught Error: Call to undefined function sqlsrv_connect() in C:\xampp\htdocs\phpSql\conexion2.php:6 Stack trace: #0 {main} thrown in C:\xampp\htdocs\phpSql\conexion2.php on line 6

    • Hola Sandro,
      La verdad es que es complicado responderte a qué puede ser debido, pero básicamente no te está realizando la conexión. No está cogiendo correctamente la DLL o te falta algún componente por instalar. Debería ver cómo tienes configurado todo para poder ayudarte con la configuración, ya que hace bastante tiempo que hice esta configuración. Si no consigues hacerlo funcionar, escríbeme de nuevo y lo vemos con más detalle.
      Gracias.
      Un saludo.

  2. hola buenos dias estoy tratando de instalar la version de php con sql 2016 me pudieras ayudar no, me reconoce la libreria mssql que puedo hacer y por lo mismo no corre un programa que tengo en php y no da acceso ala base de datos

  3. Rubén, buenas

    Seguí el procedimiento y al reiniciar el apache desde XAMPP – Control me muestra este error:

    no se encuentra el punto de entrada del procedimiento call_user_function en la biblioteca de vínculos dinámicos c:\xampp\php\ext\php_sqlsrv_7_ts_x86.dll

    no encontré alguna referencia sobre este error en google

    Espero puede ayudarme, mil gracias!

Deja un comentario