¡Hola, chicos!
¿Todo bien?
En esta publicación, me gustaría demostrar cómo conectarse a SQL Server usando PHP (Xampp) y el controlador PDO en Windows. Muchas personas acaban teniendo dificultades para instalar y configurar los drivers, debido a pequeños detalles técnicos que acaban no siendo observados e imposibilitando la conexión entre PHP y la base de datos SQL Server.
El primer paso para lograr esta conexión es descargar el controlador ODBC de Microsoft® 18.2.1.1 para SQL Server® a su máquina e instale el controlador.
El siguiente paso es ver información sobre su entorno. Para hacer esto, cree un archivo llamado phpinfo.php en la raíz de su servidor web PHP (el directorio predeterminado es C:\xampp\htdocs), con el siguiente contenido:
<?php
phpinfo();
?>
Después de ver este archivo en su navegador web (http://localhost/phpinfo.php), debería ver una pantalla como esta:

En esta pantalla, necesitamos identificar las siguientes variables de entorno:
- Versión de PHP (en el caso de ejemplo, 7.1.1)
- Arquitectura PHP (en el caso de ejemplo, x86)
- Ubicación del archivo de configuración (php.ini)
- Compruebe si la versión de compilación de PHP es TS (Thread-safe) o NTS (Non Thread-safe) (en el caso del ejemplo, es TS)
Luego de identificar esta información, ahora descarguemos los Drivers de Microsoft para PHP para SQL Server, según su versión de PHP:
Relación entre la versión del controlador y la versión de PHP
| Versión del controlador | versión PHP | Descarga del controlador |
|---|---|---|
| 5.11.0-beta1 | PHP 7.4 a PHP 8.2 | para bajar |
| 5.10.1 | PHP 7.4 a PHP 8.1 | para bajar |
| 5.9 | PHP 7.3 a PHP 8.0 | para bajar |
| 5.8 | PHP 7.2 a PHP 7.4 | para bajar |
| 4.3 | PHP 7.0 y PHP 7.1 | para bajar |
| 4.0 | PHP 7.0 | para bajar |
| 3.2 | PHP 5.6.4+ o PHP 5.5.16+ o PHP 5.4.32 | para bajar |
| 3.1 | PHP 5.5.16+ o PHP 5.4.32 | para bajar |
| 3.0 | PHP 5.4.32 o PHP 5.3.0 | para bajar |
| 2.0 | PHP 5.3.0 o PHP 5.2.4 o PHP 5.2.13 | para bajar |
Relación entre la versión del controlador y la versión del controlador ODBC
Haga clic aquí para ampliarRelación entre la versión del controlador y la versión de la base de datos
Haga clic aquí para ampliarRelación entre la versión del controlador y la versión de Windows
Haga clic aquí para ampliarLuego de identificar la versión correcta del controlador según su versión de PHP, SQL Server y Sistema Operativo, descargue el controlador indicado y elija una carpeta para extraer los archivos durante la instalación.
Después de eso, copie todos los archivos que se instalaron en el directorio. php\ext en su instalación de Xampp (el directorio predeterminado es C:\xampp\php\ext)
Si no conoce la ruta de su archivo de configuración (la ruta predeterminada es C:\xampp\php\php.ini), en la pantalla phpinfo(), que se muestra arriba, puede identificar la ruta correcta de su archivo php.ini buscando Archivo de configuración cargado
Después de copiar todos los archivos, edite el archivo php.ini de su instalación y agregue los registros a continuación:
extension=php_pdo_sqlsrv_71_ts_x86.dll
extension=php_sqlsrv_71_ts_x86.dll
Recordando que el nombre de las DLL varía según la versión de PHP (71, 70, 54, etc.), Thread-safe (TS o NTS) y arquitectura (X86 o X64) y SIEMPRE debe ser el mismo que el nombre de los archivos que descargaste y copiaste en el directorio php\ext.
Una vez que haya editado el archivo php.ini, simplemente reinicie Apache para que los cambios surtan efecto, como se muestra a continuación:
Abra el archivo phpinfo.php nuevamente (http://localhost/phpinfo.php) y vea si el controlador ahora está cargado:

Si es el mismo que en la captura de pantalla, significa que el controlador está instalado y listo para usarse.
Guión de prueba de conexión
<?php
try
{
$servidor = "vm-dba";
$instancia = "sql2016";
$porta = 1433;
$database = "master";
$usuario = "usuario_php";
$senha = "123456";
$conexao = new PDO( "sqlsrv:Server={$servidor}\\{$instancia},{$porta};Database={$database}", $usuario, $senha );
}
catch ( PDOException $e )
{
echo "Drivers disponiveis: " . implode( ",", PDO::getAvailableDrivers() );
echo "\nErro: " . $e->getMessage();
exit;
}
$query = $conexao->prepare( "select @@version" );
$query->execute();
$resultado = $query->fetchAll();
echo $resultado['0']['0'];
unset( $conexao );
unset( $query );
¡Eso es todo!
Espero que hayas disfrutado de este artículo y que ahora puedas comenzar a crear aplicaciones usando PHP y SQL Server.
También hay un enlace muy interesante, de la propia Microsoft, que ayuda a los desarrolladores a crear un entorno PHP. Para acceder a esta documentación, haga clic en este enlace aquí.
¡Gran abrazo!




Comentários (0)
Carregando comentários…