I recently set up an Ubuntu server that needed to access a MSSQL database. The php5-sybase package sort of worked (the queries appeared to work, but data was missing). So, I set out to build some .deb packages with MSSQL support built in.
First make sure you have the Debian package development tools:
apt-get install build-essential debhelper
(More tools might be needed depending on what you already have installed, but you will tend to get warnings about what is missing)
Then, download the PHP sources:
apt-get source php5
(The current version in the Ubuntu repositories at this time is php5-5.1.2, so adjust for version numbers in the future.)
And you will need all the dependencies for building PHP:
apt-get build-dep php5
Change into the debian build directory for PHP:
cd php5-5.1.2/debian
The first step is to edit the â€Å“modulelistâ€? file. Insert a line above the one that says
mysql MySQL
with the contents:
mssql MSSQL
Next, edit the file “rules” and look for the section starting with “configure-apache2-stamp”. You will see a line similar to:
--with-mysql=shared,/usr
Open a line above this with the contents:
--with-mssql=shared,/usr
Make sure not to forget the backslash on the end.Now, we must edit the “control” file in the same directory. Add this to the end of the file:
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.
Move up a directory.
cd ..
Now, run:
dpkg-buildpackage
And go get something to eat. This will do the whole configure/compile for PHP and create debs in the parent directory. When this process is done, move up to the parent directory:
cd ..
And, you will see all of the PHP debs, including the new php5-mssql_[version].deb
Run a dpkg -i on the ones you need, and you should be all set to connect to MSSQL databases.
EmoticonEmoticon