Foros del Web » Programando para Internet » PHP »

Configurar PHP para trabajar con SQL SERVER

Estas en el tema de Configurar PHP para trabajar con SQL SERVER en el foro de PHP en Foros del Web. Hola a todos No me ha resultado poder trabajar con PHP y SQL Server y es que creo que todo recae en que no tengo ...
  #1 (permalink)  
Antiguo 31/03/2006, 17:46
 
Fecha de Ingreso: marzo-2005
Mensajes: 162
Antigüedad: 19 años, 1 mes
Puntos: 0
Configurar PHP para trabajar con SQL SERVER

Hola a todos

No me ha resultado poder trabajar con PHP y SQL Server y es que creo que todo recae en que no tengo bien configurado el PHP. Las versiones que tengo de cada uno son: PHP 4.3.9 y SQL Server 2005

La configuración que hice a PHP fue:

1. Copiar de la carpeta de php>extensions el fichero "php_mssql.dll" y pegarlo en la carpeta php>dlls
2. Editar el php.ini en la linea donde dice "extension_dir = " y dejarlo como extension_dir = "./dlls" que es donde esta "php_mssql.dll"
3. Editar el php.ini en la linea donde esta ";extension=php_mssql.dll" quitandole el ";" que esta al iniciar la linea.
4. Pegar el php.ini en c:\windows\system
5. Parar y reiniciar el modulo de Apache.

Así es como lo tengo ahorita. Pero al momento de realizar la conexión PHP-SQL SERVER me genera este error:

Fatal error: Call to undefined function: mssql_connect() in C:\Archivos de programa\Apache Group\Apache2\htdocs\phpysqlserver\datos.php on line 2

Mi código es este:
Código PHP:
<?
$conexion 
mssql_connect("SERVIDOR""sa""123456");
mssql_select_db("basedatos");
$sql mssql_query("select * from Usuarios"$conexion); 
while (
$row mssql_fetch_array($sql)) { 
   
$counter++; 
   
$nom $row["Nombre"]; 
   echo (
"$counter Usuario: $nom\n"); 

mssql_close($conexion); 
?>
¿Está mal la configuración o mi código? Ayuda please!!

Salu2

Última edición por Ultra Violeta; 31/03/2006 a las 17:51
  #2 (permalink)  
Antiguo 01/04/2006, 07:52
 
Fecha de Ingreso: noviembre-2004
Mensajes: 159
Antigüedad: 19 años, 5 meses
Puntos: 0
De acuerdo

Hola, he visto ese problema.

No editaste el fichero php.ini bien y descomentaste esa linea. Revisa bien que el fichero php.ini sea el correcto (que yo recuerde bueno tuve un caso particular cuando istale php para IIFS (windows 2000 server) y el php.ini estaba en la carpeta php y en otro directorio (habian 2 uno de muestra y el otro era el autentico). Por eso cuando descomente en uno de ellos no funcionaba pero cuando descomente el otro todo quedo ok. Por si las dudas has un buscar php.ini en tu windows para ver si no es ese el caso.

yo particularmente lo hize eso en modo de pruebas, y llegue a conectar desde un linux a un ms-sql server (solo para consultas) via Free tds.

P.D. aqui te dejo un enlace sobre funciones para conectar con el ms-sql (php)

http://www.php.net/function.mssql-connect

Saludos

A. Acosta
  #3 (permalink)  
Antiguo 01/04/2006, 09:57
 
Fecha de Ingreso: marzo-2005
Mensajes: 162
Antigüedad: 19 años, 1 mes
Puntos: 0
Gracias Albertt t

He probado lo que me dices pero mi problema persiste.

Yo creo que mi problema esta al editar el php.ini, cuando asigno la ruta en la que esta el "php_mssql.php":

extension_dir = "./dlls"...................¿si es así o que me hace falta?

El archivo "php_mssql.php" esta en "c:\php\dlls\php_mssql.php"

O probablemente mi problema sea que yo pego el archivo php.ini en "c:\windows\system", es ahi o en "c:\windows" directamente?


Gracias de antemano

Salu2
  #4 (permalink)  
Antiguo 03/04/2006, 07:36
 
Fecha de Ingreso: marzo-2005
Mensajes: 162
Antigüedad: 19 años, 1 mes
Puntos: 0
¿Alguien que me ayude?

Alguien por ahiii que me ayude a configurar mi PHP, pliiisssss?

Salu2
  #5 (permalink)  
Antiguo 03/04/2006, 07:55
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 20 años, 6 meses
Puntos: 11
Ejecuta phpinfo() en un script php, para que veas como está confgurado php.ini, sobre todo busca donde está leyendo el php.ini (en que directorio), si está en algún lugar raro, usa: "c:/windows/"
Prueba colocando en extension_dir esto: extension_dir = "C:/php/dlls/"
  #6 (permalink)  
Antiguo 03/04/2006, 09:23
 
Fecha de Ingreso: marzo-2005
Mensajes: 162
Antigüedad: 19 años, 1 mes
Puntos: 0
sigo...

Hola Claudio, acabo de probar con lo que me dices pero al iniciar el monitor de Apache me aparece una ventana con el siguiente mensaje de error:

Unknown(): Unable to load dynamic library "c:/php/dlls/php_mssql.dll" - No se puede encontrar el módulo especificado.

La librería si esta en esa carpeta (dlls) mas sin embargo me manda ese error y mi php.ini esta en "C:\Windows" directamente. Ya he probado miles de veces cambiando la ruta, utilizando las diagonales invertidas y otras cosas pero no jala.

¿Qué puede ser?

Salu2
  #7 (permalink)  
Antiguo 03/04/2006, 09:25
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 20 años, 6 meses
Puntos: 11
Tienes instaladas las herramientas cliente de sql server en esa maquina? Creo que esto es necesario.
  #8 (permalink)  
Antiguo 03/04/2006, 10:26
 
Fecha de Ingreso: marzo-2005
Mensajes: 162
Antigüedad: 19 años, 1 mes
Puntos: 0
Si..

Tengo instalado el SQL Server 2005 y todos sus componentes o al menos eso creo, que tengo todo. No sé exactamente a cuales herramientas te refieras.

Yo creo que mi error posiblemente sea la ubicación de mi php.ini. ¿Va directamente en C:\WINDOWS ó en C:\WINDOWS\system?

Otra cosa que creo es mi problema es al dar la ruta de ubicación de la libreria php_mssql.php. Ya que creo que la ruta no se escribe tal cual la encontramos en el explorador. Creo que es algo similar a esto: ".;c:\php\dlls" pero no estoy muy segura que sea necesario indicar todo ya que cuando lo configurabamos para trabajar con mysql unicamente era necesario ponerle "./extensions", no toda la ruta. Siento que mi problema esta por aqui pero nomas no doyyy.

Salu2
  #9 (permalink)  
Antiguo 03/04/2006, 10:50
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 20 años, 6 meses
Puntos: 11
El php.ini va en c:\windows\

Las herramientas cliente son: administrador corporativo y analizador de consultas, los cuales instalan algunas dll en el sistema.

Creo que esto; ".;c:\php\dlls" se usaría para indicar mas de un sitio probable de ubicacion de las dll.

Imagino que luego de los cambios siempre reinicias apache.
  #10 (permalink)  
Antiguo 03/04/2006, 11:51
 
Fecha de Ingreso: marzo-2005
Mensajes: 162
Antigüedad: 19 años, 1 mes
Puntos: 0
Si tengo instaladas todas las herramientas. Y si, cada vez que hago un cambio al php.ini reinicio el apache.

Sigo creyendo que mi problema esta en la ruta pero no sé como ponerle. Heelpp!!

Cómo configuro mi PHP para poder trabajar con SQL SERVER 2005 !!

Salu2

Última edición por Ultra Violeta; 03/04/2006 a las 12:08
  #11 (permalink)  
Antiguo 23/10/2006, 05:40
Avatar de jerkan  
Fecha de Ingreso: septiembre-2005
Mensajes: 1.607
Antigüedad: 18 años, 7 meses
Puntos: 19
A mi me pasaba lo mismo hasta que, tras mucho navegar, di con la solución. Tuve que copiar la librería ntwdblib.dll que viene con el zip del php a la carpeta system32 de windows (versión xp).
Ahora tengo que conseguir conectarme a la base de datos

Un saludo
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 19:30.