Foros del Web » Administración de Sistemas » Unix / Linux »

Como configurar MSSQL para PHP en Linux

Estas en el tema de Como configurar MSSQL para PHP en Linux en el foro de Unix / Linux en Foros del Web. Buenas, tengo un pequeño problema.. Estoy un poco verde de Linux, llevo 1 año sin tocar nada y de lo que me enseñaron en clase ...
  #1 (permalink)  
Antiguo 08/07/2008, 07:50
Avatar de Kamae  
Fecha de Ingreso: abril-2008
Ubicación: Barcelona (Catalunya)
Mensajes: 307
Antigüedad: 16 años, 6 meses
Puntos: 13
Como configurar MSSQL para PHP en Linux

Buenas, tengo un pequeño problema..

Estoy un poco verde de Linux, llevo 1 año sin tocar nada y de lo que me enseñaron en clase que suele ser... en fin.

El tema está en que tenía una aplicación que conectaba a una base de datos MySQL y a parte en una MSSQL (SQL de Micro$oft). Lo hacía rular en este ordenador, con Windows. El problema está en que ahora lo he subido al servidor Linux al que toda la empresa tiene acceso, y funciona bien (es decir, está todo bien publicado) pero no se me conecta al servidor mssql porque peta en la función mssql_connect (Undefined function, es decir, que no está configurado el PHP para trabajar con MsSQL).

He mirado por internet y me ha sido bastante complicado (a parte de que estaba en inglés) y sé que hay que hacer algo con un tal freeTDS y una librería más y no se que.. Pero no me aclaro, ni siquiera sé instalar el freeTDS xD

Si alguien sabe de algún manual o puede echarme una mano

Gracias de antemano

PD: El Sistema Operativo es un Fedora 6
  #2 (permalink)  
Antiguo 08/07/2008, 14:27
Avatar de ociomax
Colaborador
 
Fecha de Ingreso: mayo-2002
Ubicación: Temuco, Chile
Mensajes: 5.595
Antigüedad: 22 años, 5 meses
Puntos: 35
Respuesta: Como configurar MSSQL para PHP en Linux

En el repositorio de Remi Collet tienes disponibles los RPM de PHP compilados con soporte pata MS SQL. Simplemente agrega ese repositorio siguiendo estas instrucciones y luego instálalos con yum.
__________________
Christian González, "OCIOMax"
http://chgonzalez.blogspot.com
http://twitter.com/chgonzalez
  #3 (permalink)  
Antiguo 09/07/2008, 01:25
Avatar de Kamae  
Fecha de Ingreso: abril-2008
Ubicación: Barcelona (Catalunya)
Mensajes: 307
Antigüedad: 16 años, 6 meses
Puntos: 13
Respuesta: Como configurar MSSQL para PHP en Linux

Muchas gracias, sólo una pregunta, esto sustituye mi configuración actual del PHP o simplemente se añade? Porque si me la sustituye pasaré de hacerlo porque como se la lie al jefe.. xDD
  #4 (permalink)  
Antiguo 09/07/2008, 07:43
Avatar de ociomax
Colaborador
 
Fecha de Ingreso: mayo-2002
Ubicación: Temuco, Chile
Mensajes: 5.595
Antigüedad: 22 años, 5 meses
Puntos: 35
Respuesta: Como configurar MSSQL para PHP en Linux

Por defecto, RPM no sobreescribe tu configuración actual. De todas maneras, es recomendable respaldar todo lo relevante antes de actualizar.
__________________
Christian González, "OCIOMax"
http://chgonzalez.blogspot.com
http://twitter.com/chgonzalez
  #5 (permalink)  
Antiguo 09/07/2008, 08:08
Avatar de Kamae  
Fecha de Ingreso: abril-2008
Ubicación: Barcelona (Catalunya)
Mensajes: 307
Antigüedad: 16 años, 6 meses
Puntos: 13
Respuesta: Como configurar MSSQL para PHP en Linux

Oks muchas gracias pues
  #6 (permalink)  
Antiguo 25/08/2008, 08:30
Avatar de Kamae  
Fecha de Ingreso: abril-2008
Ubicación: Barcelona (Catalunya)
Mensajes: 307
Antigüedad: 16 años, 6 meses
Puntos: 13
Respuesta: Como configurar MSSQL para PHP en Linux

Buenas

En todo este tiempo no había probado a hacerlo porque surgieron otros problemillas en la empresa y tal. Ahora el jefe me lo ha vuelto a pedir y seguí el manual que me dijiste. Yo sólo hice esto, y creo que no tenía que hacer nada más:

Cita:
[root@localhost suport]# wget http://rpms.famillecollet.com/remi-release-7.rpm
--18:17:15-- http://rpms.famillecollet.com/remi-release-7.rpm
=> `remi-release-7.rpm'
Se está conectando a 192.168.1.10:8080...connectado.
Proxy: se ha mandado una petición, se está esperando una respuesta...200 OK
Tamaño: 6,284 (6.1K) [application/x-rpm]

100%[====================================>] 6,284 --.--K/s

18:17:15 (52.87 KB/s) - se ha guardado «remi-release-7.rpm» [6284/6284]

[root@localhost suport]# rpm -Uvh remi-release-7.rpm
warning: remi-release-7.rpm: Header V3 DSA signature: NOKEY, key ID 00f97f56
Preparing... ########################################### [100%]
1:remi-release ########################################### [100%]

[root@localhost suport]# rpm -q gpg-pubkey --qf "%{summary} ->%{version}-%{release}\n"
gpg(Fedora Project <[email protected]>) ->4f2a6fd2-3f9d9d3b
Reinicié el servicio httpd. Ahora he creado una página php básica que sólo hace una conexión a una base de datos Microsoft SQL Server y me sigue diciendo que la función mssql_connect(); no existe o no está definida.

Es evidente que me dejo algún paso, pero soy un novatillo en Linux y no sé que más debo hacer... :$

Una ayudita plz? Gracias de antemano
  #7 (permalink)  
Antiguo 25/08/2008, 09:53
Avatar de ociomax
Colaborador
 
Fecha de Ingreso: mayo-2002
Ubicación: Temuco, Chile
Mensajes: 5.595
Antigüedad: 22 años, 5 meses
Puntos: 35
Respuesta: Como configurar MSSQL para PHP en Linux

Los pasos que mencionaste son solamente para agregar el repositorio de Remi Collet a tu configuración de yum. Ahora tienes que instalar los paquetes de php con soporte para TDS. Me imagino que con un simple "yum update php*" debería ser suficiente, pero lo mejor es que leas las instrucciones en el blog de Remi (algunas están en francés, pero con ayuda de Google Translator se puede leer ).
__________________
Christian González, "OCIOMax"
http://chgonzalez.blogspot.com
http://twitter.com/chgonzalez
  #8 (permalink)  
Antiguo 25/08/2008, 11:03
Avatar de -Defero-
Colaborador
 
Fecha de Ingreso: julio-2004
Ubicación: Guipúzcoa
Mensajes: 4.776
Antigüedad: 20 años, 4 meses
Puntos: 76
Respuesta: Como configurar MSSQL para PHP en Linux

Cita:
Iniciado por Kamae Ver Mensaje
Muchas gracias, sólo una pregunta, esto sustituye mi configuración actual del PHP o simplemente se añade? Porque si me la sustituye pasaré de hacerlo porque como se la lie al jefe.. xDD
Si es un servidor en producción, lo razonable sería tener un segundo servidor de pruebas con la misma configuración (exactamente la misma; debería usar el mismo hardware y tener el sistema clonado del anterior). De esta manera, haces la prueba en el servidor de pruebas (mientras anotas de manera detallada cada paso), y si funciona, lo repites en el servidor en producción.

Si no tienes un servidor de pruebas, yo le dejaría bien claro al jefe cuáles son los riesgos, para que no te salpique responsabilidad por una decisión suya. Incluso no estaría mal insinuar la posibilidad de contratar un profesional externo para esta tarea en concreto. De esta manera la responsabilidad es del profesional, no tuya. Tu úlcera (que si no la tienes ya, la desarrollarás tarde o temprano) lo agradecerá.
__________________
abogado en Errenteria + procuradora en San Sebastián = equipo imparable
  #9 (permalink)  
Antiguo 26/08/2008, 06:18
Avatar de Kamae  
Fecha de Ingreso: abril-2008
Ubicación: Barcelona (Catalunya)
Mensajes: 307
Antigüedad: 16 años, 6 meses
Puntos: 13
Respuesta: Como configurar MSSQL para PHP en Linux

Defero.tk, creo que mi úlcera no está aun, pero algo pequeñito noto por ahí desarrollándose xD Bueno ahora con la movida del VMWare y tal, el jefe me dijo que montara el PHP con acceso a MSSQL en un servidor virtual de Fedora 7 (como en el real que usa él), así no hay riesgos ya :D

ociomax, he hecho lo que me comentaste pero creo que no funcionó porque sigue sin encontrarme la función mssql:

Cita:
[root@localhost suport]# yum update php*
Loading "installonlyn" plugin
Setting up Update Process
fedora 100% |=========================| 2.1 kB 00:00
updates 100% |=========================| 2.3 kB 00:00
Could not find update match for php*
No Packages marked for Update/Obsoletion
[root@localhost suport]# /etc/init.d/httpd restart
Mmm es que he seguido las instrucciones pero claro, se supone que hay cosas que se pueden hacer de varias formas y por lo tanto algunas se tienen que obviar. Yo sólo hice las que puse, más lo que tú me dijiste, más esto último que he visto del serial que no había hecho.. Pero no me funciona:

Cita:
[root@localhost httpd]# rpm --import RPM-GPG-KEY-remi
error: RPM-GPG-KEY-remi: import read failed(-1).
Me pieeerdo xD
Gracias por contestar a ambos
  #10 (permalink)  
Antiguo 26/08/2008, 09:11
Avatar de ociomax
Colaborador
 
Fecha de Ingreso: mayo-2002
Ubicación: Temuco, Chile
Mensajes: 5.595
Antigüedad: 22 años, 5 meses
Puntos: 35
Respuesta: Como configurar MSSQL para PHP en Linux

Si observas atentamente la salida de la ejecución del comando yum, verás que aparece la lista de los repositorios a los que se está conectando tu sistema. En tu caso, sólo aparecen dos: fedora y updates. Eso significa que no te estás conectando al repositorio de Remi.

Lo más probable es que esto se deba a que el repositorio está desactivado en tu configuración de yum. Para verificarlo, edita el archivo /etc/yum.repos.d/remi.repo y fíjate si aparece una línea similar a enabled=0. Si es así, debes cambiarla por enabled=1.

De paso, te recomiendo leer este manual que escribí hace algún tiempo.
__________________
Christian González, "OCIOMax"
http://chgonzalez.blogspot.com
http://twitter.com/chgonzalez
  #11 (permalink)  
Antiguo 27/08/2008, 02:02
Avatar de Kamae  
Fecha de Ingreso: abril-2008
Ubicación: Barcelona (Catalunya)
Mensajes: 307
Antigüedad: 16 años, 6 meses
Puntos: 13
Respuesta: Como configurar MSSQL para PHP en Linux

Muchas gracias por el interés y por el manual :P

Yo ya no sé qué más hacer, haciendo un resumen, hice:

Cita:
[root@localhost suport]# wget http://rpms.famillecollet.com/remi-release-7.rpm
--18:17:15-- http://rpms.famillecollet.com/remi-release-7.rpm
=> `remi-release-7.rpm'
Se está conectando a 192.168.1.10:8080...connectado.
Proxy: se ha mandado una petición, se está esperando una respuesta...200 OK
Tamaño: 6,284 (6.1K) [application/x-rpm]

100%[====================================>] 6,284 --.--K/s

18:17:15 (52.87 KB/s) - se ha guardado «remi-release-7.rpm» [6284/6284]

[root@localhost suport]# rpm -Uvh remi-release-7.rpm
warning: remi-release-7.rpm: Header V3 DSA signature: NOKEY, key ID 00f97f56
Preparing... ########################################### [100%]
1:remi-release ########################################### [100%]

[root@localhost yum.repos.d]# vi remi.repo
// Modifico y lo pongo en enable=1
[root@localhost yum.repos.d]# yum update php*
Loading "installonlyn" plugin
Setting up Update Process
fedora 100% |=========================| 2.1 kB 00:00
remi 100% |=========================| 1.9 kB 00:00
updates 100% |=========================| 2.3 kB 00:00
Resolving Dependencies
--> Running transaction check
---> Package php-cli.i386 0:5.2.6-2.fc7.remi set to be updated
---> Package php.i386 0:5.2.6-2.fc7.remi set to be updated
---> Package php-common.i386 0:5.2.6-2.fc7.remi set to be updated
---> Package php-mysql.i386 0:5.2.6-2.fc7.remi set to be updated
---> Package php-ldap.i386 0:5.2.6-2.fc7.remi set to be updated
---> Package php-pdo.i386 0:5.2.6-2.fc7.remi set to be updated
--> Processing Dependency: libsqlite.so.0 for package: php-pdo
--> Restarting Dependency Resolution with new changes.
--> Running transaction check
---> Package sqlite2.i386 0:2.8.17-1.fc6 set to be updated

Dependencies Resolved

================================================== ===========================
Package Arch Version Repository Size
================================================== ===========================
Updating:
php i386 5.2.6-2.fc7.remi remi 1.3 M
php-cli i386 5.2.6-2.fc7.remi remi 2.5 M
php-common i386 5.2.6-2.fc7.remi remi 230 k
php-ldap i386 5.2.6-2.fc7.remi remi 34 k
php-mysql i386 5.2.6-2.fc7.remi remi 83 k
php-pdo i386 5.2.6-2.fc7.remi remi 90 k
Installing for dependencies:
sqlite2 i386 2.8.17-1.fc6 fedora 170 k

Transaction Summary
================================================== ===========================
Install 1 Package(s)
Update 6 Package(s)
Remove 0 Package(s)

Total download size: 4.3 M
Is this ok [y/N]: y
Downloading Packages:
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
Updating : php-common # [ 1/13]warning: /etc/php.ini created as /etc/php.ini.rpmnew
Updating : php-common ####################### [ 1/13]
Updating : php-cli ####################### [ 2/13]
Installing: sqlite2 ####################### [ 3/13]
Updating : php-pdo ####################### [ 4/13]
Updating : php ####################### [ 5/13]
Updating : php-mysql ####################### [ 6/13]
Updating : php-ldap ####################### [ 7/13]
Cleanup : php-cli ####################### [ 8/13]
Cleanup : php ####################### [ 9/13]
Cleanup : php-common ####################### [10/13]
Cleanup : php-mysql ####################### [11/13]
Cleanup : php-ldap ####################### [12/13]
Cleanup : php-pdo ####################### [13/13]

Dependency Installed: sqlite2.i386 0:2.8.17-1.fc6
Updated: php.i386 0:5.2.6-2.fc7.remi php-cli.i386 0:5.2.6-2.fc7.remi php-common.i386 0:5.2.6-2.fc7.remi php-ldap.i386 0:5.2.6-2.fc7.remi php-mysql.i386 0:5.2.6-2.fc7.remi php-pdo.i386 0:5.2.6-2.fc7.remi
Complete!

[root@localhost etc]# /etc/init.d/httpd restart

[root@localhost Escriptori]# wget http://rpms.famillecollet.com/RPM-GPG-KEY-remi
--11:15:35-- http://rpms.famillecollet.com/RPM-GPG-KEY-remi
=> `RPM-GPG-KEY-remi'
Se está conectando a 192.168.1.10:8080...conectado.
Proxy: se ha mandado la petición, se está esperando una respuesta...200 OK
Mida: 1,340 (1.3K) [text/plain]

100%[================================================== ===>] 1,340 --.--K/s

11:15:35 (48.34 MB/s) - se ha guardado «RPM-GPG-KEY-remi» [1340/1340]

[root@localhost Escriptori]# rpm --import RPM-GPG-KEY-remi
warning: cannot get exclusive lock on /var/lib/rpm/Packages
[root@localhost Escriptori]# rpm -q gpg-pubkey --qf "%{summary} ->%{version}-%{release}"
gpg(Fedora Project <[email protected]>) ->4f2a6fd2-3f9d9d3bgpg(Remi Collet <[email protected]>) ->00f97f56-467e318agpg(Remi Collet <[email protected]>) ->00f97f56-467e318a

[root@localhost etc]# /etc/init.d/httpd restart

// Ejecuto y sigue mi amigo Fatal Error:
Call to undefined function mssql_connect()
Ahora sí lo hice todo creo, pero sigue sin funcionarme :S
Que hago maaal? :cry: xD

Saludos y gracias
  #12 (permalink)  
Antiguo 27/08/2008, 16:28
Avatar de ociomax
Colaborador
 
Fecha de Ingreso: mayo-2002
Ubicación: Temuco, Chile
Mensajes: 5.595
Antigüedad: 22 años, 5 meses
Puntos: 35
Respuesta: Como configurar MSSQL para PHP en Linux

Creo que sólo te falta un paso más:
Código:
yum install php-mssql
Luego reinicias Apache y ya deberías estar listo.
__________________
Christian González, "OCIOMax"
http://chgonzalez.blogspot.com
http://twitter.com/chgonzalez
  #13 (permalink)  
Antiguo 28/08/2008, 01:50
Avatar de Kamae  
Fecha de Ingreso: abril-2008
Ubicación: Barcelona (Catalunya)
Mensajes: 307
Antigüedad: 16 años, 6 meses
Puntos: 13
Respuesta: Como configurar MSSQL para PHP en Linux

Tío...

...te quiero...
jajajaj

Muchísimas gracias tío! Ahora me da un Warning de que no se puede conectar pero eso ya es otro tema, lo que está claro es que ya reconoce la función, nunca me había alegrado tanto de ver un Warning xD

Gracias por todo y sorry por la insistencia del tema
  #14 (permalink)  
Antiguo 28/08/2008, 08:32
Avatar de ociomax
Colaborador
 
Fecha de Ingreso: mayo-2002
Ubicación: Temuco, Chile
Mensajes: 5.595
Antigüedad: 22 años, 5 meses
Puntos: 35
Respuesta: Como configurar MSSQL para PHP en Linux

La insistencia es una de las claves para el éxito. Felicidades .
__________________
Christian González, "OCIOMax"
http://chgonzalez.blogspot.com
http://twitter.com/chgonzalez
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 09:24.