Conectar Apache y PHP con MSSQL en Linux

/ diciembre 27, 2017/ Linux, PHP, SQL Server/ 0 comentarios

Primero necesitamos instalar el conector dblib, para esto iniciamos sesión en una terminal como sudo e instalamos los paquete necesarios:

$ sudo apt-get install freetds-common freetds-bin unixodbc php7.0-sybase

Luego debemos reiniciar el servidor apache

$ sudo service apache2 restart

Ahora hay que modificar el archivo freetds, en este ejemplo voy a usar nano pero pueden usar el editor que deseen

$ sudo nano /etc/freetds/freetds.conf

Luego hay que agregar en él al final del archivo la conexión a la máquina que posee instalado el SQL Server

[MSSQL]
        host = ip de nuestro servidor (0.0.0.0)
        port = 1433
        tds version = 8.0

Es recomendable indicar a la versión de tds la 8.0 para versiones de sql server superiores a 2005

Luego para probar la conexión ejecutamos el siguiente comando desde nuestra consola:

$ tsql -S nombreServidor -U usuario -P password -D basededatos

Y finalmente editamos en nuestro /var/www un archivo en php con el siguiente código

<?php
try {
    $hostname = "nombreServidor";
    $port = 1433;
    $dbname = "basededatos";
    $username = "usuario";
    $pw = "contraseña";
    $dbh = new PDO ("dblib:host=$hostname:$port;dbname=$dbname","$username","$pw");
  } catch (PDOException $e) {
    echo "Failed to get DB handle: " . $e->getMessage() . "\n";
    exit;
  }
  $stmt = $dbh->prepare("select * from tabla");
  $stmt->execute();
  while ($row = $stmt->fetch()) {
    print_r($row);
  }
  unset($dbh); unset($stmt);
 
?>

 

Compartir esta entrada

Dejar un Comentar

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

*
*