Solapas principales
Imaginemos el siguiente escenario:
Tenemos una web en PHP en un servidor Linux con Apache y tenemos una base de datos en un servidor SQL alojado en una máquina Windows. La base de datos tiene todos los registros de clientes con sus datos y facturación. Queremos que al hacer login en la web esta haga consulas a la base de datos de Microsoft SQL server.
Para poder hacer la conexión entre PHP y MS SQL utilizaremos Freetds (set de librerías Linux & Unix) y la extensión MS SQL. En la familia Debian lo instalamos así:
sudo apt-get install freetds-common freetds-bin unixodbc php5-sybase
Reiniciamos apache:
sudo /etc/init.d/apache2 restart
El archivo de configuración de FREETDS:
nano /etc/freetds/freetds.conf
Podemos ver en phpinfo si tenemos la libreria freetds activa: Para comprobarlo creamos un archivo de nombre info.php con el siguiente contenido:
phpinfo();
Si tenemos xampp movemos el archivo php.info al directorio /opt/lampp/htdocs o si tenemos apache instalado en sistema en /var/www.
Abrimos el navegador y en la url :
http://localhost/php.info
Ahora desde la terminal podemos testear si conecta con Ms sql.
Abrimos una terminal:
tsql -H mi_servidor_sql -p puerto -U usuario_sql -P contraseña -D base_de_datos
Ejemplo:
tsql -H 192.168.1.221 -p 1433 -U sa -P sql123 -D EMPRESA
También podemos utilizar este código php para comprobar la conexión.
Igual que con el php.info el archivo test.php lo copiamos al directorio web y llamamos al archivo desde la url del navegador:
Creamos un archivo test.php con el siguiente código:
<?php
$link = mssql_connect('192.168.1.221', 'sa', 'sql123'); if(!$link) { echo 'Could not connect'; die('Could not connect: ' . mssql_error()); } echo'Successful Sql Connection'; msssql_close($link); ?>
Si la conexión se establece con éxito podremos ver en el navegador:
Successful Sql Connection
Adjunto archivos info.php y test.php en zip a pie de post.
- Inicie sesión o regístrese para comentar
- 2851 lecturas