Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] PHP 5.4.4 / 5.6.3 : SQL SERVER : Problemas de conexión

Estas en el tema de PHP 5.4.4 / 5.6.3 : SQL SERVER : Problemas de conexión en el foro de PHP en Foros del Web. ¡Hola! Después de una larga espera al fin, por fin, me toca desarrollar un sistema utilizando PHP y SQL Server. El requerimiento del sistema me ...
  #1 (permalink)  
Antiguo 04/02/2015, 19:25
Usuario no validado
 
Fecha de Ingreso: abril-2008
Mensajes: 50
Antigüedad: 16 años
Puntos: 16
PHP 5.4.4 / 5.6.3 : SQL SERVER : Problemas de conexión

¡Hola!

Después de una larga espera al fin, por fin, me toca desarrollar un sistema utilizando PHP y SQL Server.

El requerimiento del sistema me indica que debe procurar utilizarse la última versión posible de ambas cosas.

Me he descargado el último XAMPP con su PHP 5.6.3 y me he instalado el SQL Server 2012 y no consigo al menos hacer que se cargue la librería para conectar utilizando PDO.

He probado ya descargando las versiones oficiales 3.0 y 3.1 de drivers de SQL Server para PHP de Microsoft utilizando este enlace:
Microsoft Drivers for PHP for SQL Server

También he probado con librerías "no oficiales" de estos enlaces:
Unofficial Microsoft SQL Server Driver for PHP (sqlsrv)

He probado los DLLs sobre PHP 5.4.4 y PHP 5.6.3 proporcionado por el Apache de dos versiones distintas del XAMPP.

En algunos casos, cuando solo por si acaso he probado un DLL no creado para la versión de Apache en ejecución recibo el mensaje de que la compilación no es la correcta.

Pero, cuando he probado lo que supone correcto, DLL de versión correcta para el Apache en ejecución, recibo en ambas versiones del PHP soportado el mensaje de que hace falta el señor "php5.dll".

¿Alguien por acá sería tan amable de decirme que versión de SQL Server ha instalado sobre qué versión soportada de PHP y los conjuros que haya tenido que hacer para que esto funcione?

Lo ideal es que consiga hacerlo sobre las últimas versiones disponibles de PHP y SQL Server.

Lo que no tengo como opcional es no desarrollar el sistema con PHP y SQL Server.

De antemano, gracias por vuestra atención.

Saludos,

PCID.
  #2 (permalink)  
Antiguo 05/02/2015, 08:43
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 10 años, 9 meses
Puntos: 379
Respuesta: PHP 5.4.4 / 5.6.3 : SQL SERVER : Problemas de conexión

Cita:
¿Alguien por acá sería tan amable de decirme que versión de SQL Server ha instalado sobre qué versión soportada de PHP y los conjuros que haya tenido que hacer para que esto funcione?
Leer sobre lo que instalas:
Cita:
Version 3.1 now supports PHP 5.5 and requires Microsoft ODBC Driver 11 (or higher) for SQL Server. Previous versions required SQL Native Client. The version 3.0 introduces support for SQL Server 2012 with features including: LocalDB, AlwaysOn and Buffered Queries.
Fuente: http://www.microsoft.com/en-us/downl....aspx?id=20098
Solo esta soportado hasta la versión 5.5.x con el driver 3.1.
Revisa las instrucciones de instalación y de requerimientos técnicos: https://msdn.microsoft.com/en-us/library/cc296170.aspx
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.
  #3 (permalink)  
Antiguo 20/02/2015, 05:35
 
Fecha de Ingreso: febrero-2015
Mensajes: 1
Antigüedad: 9 años, 2 meses
Puntos: 0
Respuesta: PHP 5.4.4 / 5.6.3 : SQL SERVER : Problemas de conexión

Buenas, en la empresa toco actualizarse a php 6.3 y luego de unas cuantas horitas logre la conexion gracias al download que se encuentra en

http://robsphp.blogspot.co.uk/2012/06/unofficial-microsoft-sql-server-driver.html

Un driver no oficial que si funciona.

Bueno, nosotros utilizamos XAMPP,
activas las extensiones en php.ini

[SQLSRV]
extension=php_sqlsrv_56_nts
extension=php_sqlsrv_56_ts
extension=php_pdo_sqlsrv_56_nts
extension=php_pdo_sqlsrv_56_ts

y reinicias el XAMPP.
Automaticamente hagas esto te van a aparecer los mensajes molestos de de php5.dll y warnings vacios que parecieran no generar conflictos.

te dejo un script para probar la conexión:
<?php

$uid = "sa";
$pwd = "sa1234";
$db = "MDQ";

$serverName = "192.168.1.1";
$connectionInfo = array( "Database"=>$db, "UID"=>$uid, "PWD"=>$pwd);
$conn = sqlsrv_connect( $serverName, $connectionInfo);

if( $conn ) {
echo "la conexión funciona.<br />";
}else{
echo "la conexión no estaría funcionando<br />";
die( print_r( sqlsrv_errors(), true));
}
?>


PD: aqui utilizamos es sql server 2012.

Suerte.

Última edición por Cappato; 20/02/2015 a las 06:02
  #4 (permalink)  
Antiguo 09/12/2015, 20:55
Usuario no validado
 
Fecha de Ingreso: abril-2008
Mensajes: 50
Antigüedad: 16 años
Puntos: 16
Respuesta: PHP 5.4.4 / 5.6.3 : SQL SERVER : Problemas de conexión

Madre mía... La vida que me distrae y hasta hoy me percato de que deje esta respuesta como borrador...


-----------------------------------------------------

¡Gracias hhs!

Les dejo aquí las notas de cómo se ha conseguido solucionar el problema:

1. Instalar PHP 5.5 (Utilizar "xampp-win32-5.5.19-0-VC11-installer.exe")

2. En el phpInfo verificar valor de "Thread Safety"
Si está habilitado se deberá utilizar la librería "nts".
Si no está habilitado se deberá utilizar la librería "ts".
3. Copiar DLLs en carpeta de extensiones PHP
Archivos: php_pdo_sqlsrv_55_ts.dll y php_sqlsrv_55_ts.dll
Ruta destino: [DISCO DURO]\[NOMBRE DE CARPETA DE XAMPP]\php\ext
Ejemplo: e:\xampp_55\php\ext
4. Abrir archivo de configuración php.ini
4.1 Agregar líneas:
;[EXTENSIONS by DELTA]
[PHP_SQLSRV]
extension=php_sqlsrv_55_ts.dll
[PHP_PDO_SQLSRV]
extension=php_pdo_sqlsrv_55_ts.dll
Importante: Después del último "extension=" antes de "Module Settings"
5. Detener y volver a iniciar el servidor Apache desde Xampp-Control
6. Probar conexión a base de datos
6.1 Instalar "Microsoft Microsoft ODBC Driver 11 for SQL Server MSI" (msodbcsql.msi) si se recibe una respuesta semejante a esta:

No es posible conectarse al servidor.
Array ( [0] => Array ( [0] => IMSSP [SQLSTATE] => IMSSP [1] => -49 [code] => -49 [2] => This extension requires the ODBC Driver 11 for SQL Server. Access the following URL to download the ODBC Driver 11 for SQL Server for x86: http://go.microsoft.com/fwlink/?LinkId=163712 [message] => This extension requires the ODBC Driver 11 for SQL Server. Access the following URL to download the ODBC Driver 11 for SQL Server for x86: http://go.microsoft.com/fwlink/?LinkId=163712 ) [1] => Array ( [0] => IM002 [SQLSTATE] => IM002 [1] => 0 [code] => 0 [2] => [Microsoft][Administrador de controladores ODBC] No se encuentra el nombre del origen de datos y no se especificó ningún controlador predeterminado [message] => [Microsoft][Administrador de controladores ODBC] No se encuentra el nombre del origen de datos y no se especificó ningún controlador predeterminado ) )


7. Fin.

Etiquetas: server, sql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:51.