Conectar PHP con SQL Server desde CentOS 6.5

En mayo 2017 tuve un nuevo requerimiento de un cliente. Tenemos lo siguiente:
• 01 pc con windows 7 y sql server 2012
• 01 servidor Centos con Apache y PHP5.4
Necesitamos obtener una lista de pacientes de la base de datos en sqlserver y mostrarla en una aplicación web que esta alojado en Centos.

Buscando en san google, links por aquí, por allá y luego de varios quebraderos de cabeza la solución se resume en un post muy bueno que encontré:
http://scriptinside.blogspot.com.es/2013/04/error-unable-to-connect-to-server.html

Instalar en este orden

> yum update
> yum groupinstall Development Tools
> yum install httpd
> yum install freetds
> yum install freetds-devel
> yum install php php-devel php-mssql
> service httpd restart
> php -m (verifico que módulos tiene instalado el php, alli debe figurar php-mssql)
> vi /etc/freetds.conf

añadimos una conexión personalizada

#mi conexion sqlserver
[sqlserver2012]
host = IP de destino
port = 1433
tds version = 8.0

grabamos y salimos. probamos la conexión

> tsql -S sqlserver2012 -p 1433 -U sa

si hay problemas como este:

Error 20009 (severity 9): Unable to connect: Adaptive Server is unavailable or does not exist OS error 110, Connection timed out

Este es el error típico de que el firewall del servidor SQL no está permitiendo las conexiones entrantes.

Error 20009 (severity 9):
Unable to connect: Adaptive Server is unavailable or does not exist
OS error 111, Connection refused

Este error significa que te estas conectando mal al servidor SQL, por ejemplo puedes estar conectandote por IP (tsql -H) con los datos por defecto en vez de conectarte utilizando tsql –S.

Tener en cuenta que este deshabilitado el firewall de windows, si todo va bien creamos el php de prueba

<?php

$msconnect=mssql_connect("sqlserver2012","sa","clave");
$msdb=mssql_select_db("nombrebd",$msconnect);
$msquery = "select titleofcourtesy,firstname,lastname from employees";
$msresults= mssql_query($msquery);
while ($row = mssql_fetch_array($msresults)) {
echo $row['titleofcourtesy'];
}

?>

sqlserver2012: es el nombre de la conexión en freetds.conf

2 comentarios sobre “Conectar PHP con SQL Server desde CentOS 6.5

  1. JuanKa Illescas Contestar

    Al final no se, instale otras cosas de otra pagina, pero luego volví acá e instale todo lo que dijiste y funcionó puedo acceder a la db de sql server, gracias

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *


El periodo de verificación de reCAPTCHA ha caducado. Por favor, recarga la página.