18 de Agosto 2008
Soporte mssql para php en debian
Debian, por defecto, retira el soporte para mssql de la compilación de php. Me parece una buena política, ya que nadie en su sano juicio debería acceder a mssql desde php (ni desde ningún otro lenguaje, si nos ponemos quisquillosos). Sin embargo, hay gente en mi trabajo que no está en su sano juicio, y por necesidades de integración, tenemos una aplicación LAMP que accede a un mssql para recoger datos de otra aplicación.
Dado que ya me ha tocado dos veces recrear el paquete php-mssql para etch me he decidido a documentarlo, para que en la tercera ocasión no me toque volver a buscarlo.
- Primero, instalamos las dependencias de compilación de php5, descargamos el fuente, y nos metemos dentro:
# apt-get build-dep php5
# apt-get source php5
# cd php5-5.2.0 - Ahora modificamos unos cuantos archivos:
- En debian/control, añadimos una entrada nueva:
Package: php5-mssql
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}, ${php:Depends}, php5-common (= ${Source-Version})
Description: MSSQL module for php5
This package provides a module for MSSQL using FreeTDS.
PHP5 is an HTML-embedded scripting language. Much of its syntax is borrowed
from C, Java and Perl, with a couple of unique PHP-specific features thrown
in. The goal of the language is to allow web developers to write
dynamically generated pages quickly. - En debian/modulelist, justo debajo de la definición del módulo XSL, añadimos:
mssql MSSQL
- En debian/rules, junto a la línea de definición de mysql y mysqli, añadimos:
–with-mssql=shared,/usr \
- , y mas abajo, sustituimos
–without-pdo-dblib \
- por
–with-pdo-dblib=shared,/usr \
- y por último, recompilamos el paquete:
# dpkg-buildpackage
Y con esto, y un poco de paciencia (tarda un buen rato en recompilar), ya tendremos todos los debs creados, incluido el php-mssql, que es el que nos interesaba.