Activación de extensión de MS SQL en PHP5 sobre Linux (Ubuntu) Imprimir E-Mail
Calificación del usuario: / 0
MaloBueno 
escrito por Alejandro López Hernández   

UbuntuRecientemente me he visto involucrado en el desarrollo de aplicaciones web con Apache y PHP sobre Linux con bases de datos MS SQL. Aunque en lo personal no recomiendo usar MS SQL como manejador de base de datos para este tipo de desarrollos (mejor usen MySQL o PostgreSQL) con este pequeño tutorial podrán activar la extensión mssql.so de PHP5 para conectarse a una base de datos MS SQL usando PHP en un servidor Ubuntu.

Antes de comenzar, asegurate de tener los siguientes repositorios en tu archivo /etc/apt/sources.list (Son los mismos repositorios de ubuntuguide.org para Ubuntu 6.10 Edgy Eft):

## Add comments (##) in front of any line to remove it from being checked.
## Use the following sources.list at your own risk.

deb http://archive.ubuntu.com/ubuntu/ edgy main restricted universe multiverse
deb-src http://archive.ubuntu.com/ubuntu/ edgy main restricted universe multiverse

deb http://archive.ubuntu.com/ubuntu/ edgy-proposed main restricted universe multiverse

## MAJOR BUG FIX UPDATES produced after the final release
deb http://archive.ubuntu.com/ubuntu/ edgy-updates main restricted universe multiverse
deb-src http://archive.ubuntu.com/ubuntu/ edgy-updates main restricted universe multiverse

## UBUNTU SECURITY UPDATES
deb http://security.ubuntu.com/ubuntu edgy-security main restricted universe multiverse
deb-src http://security.ubuntu.com/ubuntu edgy-security main restricted universe multiverse

## BACKPORTS REPOSITORY (Unsupported.  May contain illegal packages.  Use at own risk.)
deb http://archive.ubuntu.com/ubuntu/ edgy-backports main restricted universe multiverse
deb-src http://archive.ubuntu.com/ubuntu/ edgy-backports main restricted universe multiverse

## PLF REPOSITORY (Unsupported.  May contain illegal packages.  Use at own risk.)
#deb http://packages.freecontrib.org/plf edgy-plf free non-free
#deb-src http://packages.freecontrib.org/plf edgy-plf free non-free

## CANONICAL COMMERCIAL REPOSITORY (Hosted on Canonical servers, not Ubuntu
## servers. RealPlayer10, Opera, DesktopSecure and more to come.)
deb http://archive.canonical.com/ubuntu edgy-commercial main

## Listen
# deb http://theli.free.fr/packages/ edgy listen

Actualiza la lista de paquetes disponible:

sudo apt-get update

A continuación instalamos los paquetes necesarios para conectarse a bases de datos MS SQL desde Ubuntu.

sudo aptitude install freetds-dev
sudo aptitude install tdsodbc

Ahora debemos bajar el paquete de desarrollo de módulos así como los archivos de código fuente de PHP5:

cd /usr/src
sudo apt-get install php5-dev
sudo apt-get source php5

El primer comando nos ubica dentro de la carpeta /usr/src donde queremos que se descompriman los archivos fuente a descargar, el segundo comando instala el paquete php5-dev junto con otros paquetes como phpize y el último baja los archivos php5_5.1.6-1ubuntu2.5.diff.gz, php5_5.1.6.orig.tar.gz y php5_5.1.6-1ubuntu2.5.dsc y luego los descomprime /usr/src.

Entramos en el directorio de los archivos fuente y directamente en la extensión que queremos compilar, en este caso mssql, y ejecutamos lo siguiente:

cd /usr/src/php5-5.1.6/ext/mssql/
sudo /usr/bin/phpize5

Esto nos devuelve algo como esto:

Configuring for:
PHP Api Version:         20041225
Zend Module Api No:      20050922
Zend Extension Api No:   220051025

Ahora compilamos la extensión mssql de PHP5:

sudo ./configure --with-mssql --with-php-config=$PHP_PREFIX/bin/php-config5
sudo make

La extensión se compila y se guarda en un directorio llamado "modules". Con esto, lo único que falta es copiar la extensión al lugar adecuado y cambiarle sus permisos.

sudo cp /usr/src/php5-5.1.6/ext/mssql/modules/mssql.so /usr/lib/php5/20051025/
sudo chmod -x /usr/lib/php5/20051025/mssql.so

Y agregar o descomentar la linea correspondiente en el archivo "/etc/php5/apache2/php.ini"

extension=mssql.so

Reiniciamos Apache para cargar nuevamente el módulo de PHP

sudo /etc/init.d/apache2 restart

Finalmente verificamos que la extensión este siendo cargada por medio de un script con la función phpinfo():

<?
phpinfo
();
?>

Con el cual deberíamos obtener un resultado como este:

Extensión MS SQL en PHP5 sobre Ubuntu Linux
Extensión MS SQL en PHP5 sobre Ubuntu Linux

Eso es todo, ya tienes la extensión MS SQL de PHP lista para ser usada en tus desarrollos web.

Referencias:

 
Siguiente >

Foros de soporte