El día de hoy realicé la actualización del servidor de desarrollo (OpenSuse 10.2) para soportar las conexiones a un servidor de bases de datos MS SQL Server 2005. El servidor de bases de datos se encuentra en la red privada (192.168.1.5). El servidor de desarrollo tiene dos interfaces, una de ellas es privada también (192.168.1.3). La versión de PHP que se encuentra actualmente instalada es la 5.2.0.
Actualicé algunos paquetes que eran necesarios para instalar el software FreeTDS.
# rpm -i readline-devel-5.1-55.i586.rpm
# rpm -i libxml2-devel-2.6.26-26.i586.rpm
# rpm -i libapr1-devel-1.2.7-23.i586.rpm
# rpm -i libapr-util1-devel-1.2.7-26.i586.rpm
# rpm -i apache2-devel-2.2.3-20.i586.rpm
Otros paquetes que puedan llegar a necesitarse se pueden descargar de la siguiente dirección.
http://download.opensuse.org/distribution/10.2/repo/oss/suse/i586/.
Descargué y descomprimí la última versión de FreeTDS.
# wget ftp://ftp.ibiblio.org/pub/Linux/ALPHA/freetds/stable/freetds-stable.tgz
# tar zxvf freetds-stable.tgz
# cd freetds-0.64
Se compila e instala en el directorio /usr/local/freetds-0.64 con soporte para la versión 8.0 del protocolo. Para consultar información adicional acerca del protocolo consulte la dirección siguiente: http://www.freetds.org/userguide/choosingtdsprotocol.htm.
# ./configure --prefix=/usr/local/freetds-0.64 --with-tdsver=8.0
# make
# make install
Creé un enlace dinámico desde /usr/local/freetds al directorio de instalación para facilitar el manejo de diferentes versiones en un futuro cercano cuando vaya a actualizar la librería.
# ln -s /usr/local/freetds-0.64 /usr/local/freetds
Edité el perfil general de los usuarios para añadir al final de este información de las variables de ambiente de FreeTDS .
# vi /etc/profile
###################################################
SYBASE=/usr/local/freetds
LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$SYBASE/lib
export SYBASE LD_LIBRARY_PATH
###################################################
Descargué y descomprimí el código fuente de la versión de PHP instalada. Para descargar versiones históricas de PHP visite el siguiente enlace: http://www.php.net/releases/.
# wget http://museum.php.net/php5/php-5.2.0.tar.gz
# tar zxvf php-5.2.0.tar.gz
# cd php-5.2.0
Se crearon los scripts de compilación para realizar una instalación temporal en /root/tmp/php-5.2.0/installation y de allí obtener el módulo dinámico de soporte para MSSQL.
# SYBASE=/usr/local/freetds
# LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$SYBASE/lib
# export SYBASE LD_LIBRARY_PATH# ./configure --with-apxs2=/usr/sbin/apxs2
--with-mssql=shared,$SYBASE
--with-sybase=$SYBASE
--with-libxml-dir=/usr/lib/
--prefix=/root/tmp/php-5.2.0/installation
# make
# make install
Se copió el módulo recién generado a la ubicación donde PHP almacena sus propios módulos.
# cp ./installation/modules/mssql.so /usr/lib/php5/extensions/
# chmod -x /usr/lib/php5/extensions/mssql.so
Se creó el archivo mssql.ini para activar el módulo.
# vi /etc/php5/conf.d/mssql.ini
extension=mssql.so
Se reinicio el servicio de Apache2 para refrescar los cambios recién hechos.
# rcapache2 restart
Al consultar la información resultante de phpinfo ya aparece la sección de MSSQL.

Para realizar una prueba fiable de conexión entre PHP y MSSQL puede utilizar el script adjunto a continuación editando adecuadamente la información de conexión al inicio de este.
Enlace: prueba_mssql.php