Install PHP MSSQL Extention (mssql.so) on Linux Slackware (UNIX)

Hari ini saya lagi kesulitan untuk "Membuat koneksi MSSQL dari PHP di Sistem Operasi Linux/UNIX khususnya Slackware 12". Hampir semua referensi yang saya temukan rata-rata minim informasi dan hasil copy paste dari Manual PHP, langsung terpikir oleh saya "blum coba udah berani jawab" :p. Okie lanjut.... Akhir (tapi belum menyelesaikan masalah) saya temukan satu Blog HOW TO GET IT DONE dari hasil pencarian di google dengan keyword "make php mssql.so" (Update: Coba deh gunakan keyword "ODBC connectivity using UNIX ODBC and FreeTDS" mungkin lebih manjur). Awalnya saya mengikuti Manual Installasi dari PHP dan FreeTDS, tapi repotnya gimana cara meng-compile kembali PHP yang sudah terinstall duluan. Kebetulan saya menggunakan Linux Slackware 12 dan menggunakan PHP yang ada dalam packet Slackware. Binunnnnn gimana cara kompile ?? OK, inilah langkah-langkah yang saya lakukan : #Ref 2008-07-25 * Ada yang lupa 1. Install unixODBC package download di http://www.unixodbc.org/
# tar -xvzf unixODBC-2.2.12.tar.gz # ./configure –prefix=/usr/local –enable-gui=no
2. Sesuai dengan instruksi manual PHP untuk menggunakan extentions MSSQL harus terinstall library FreeTDS. Silahkan download di http://www.freetds.org/ Extract paket freeTDS dan install
# tar -xvzf freetds-stable.tgz # cd freetds-x.x/ # ./configure –-with-tdsver=8.0 –-with-unixODBC=/usr/local --enable-msdblib --prefix=/usr/local/freetds # make # make install
pada saat config untuk kebutuhan PHP extention disyaratkan untuk mengaktifkan MSDlib dan ada baiknya memperhatikan prefix instalasi (defaultnya = /usr/local) Setelah selesai copy file-file berikut
# cp [tds source]/include/tds.h /usr/local/freetds/include # cp [tds source]src/tds/.libs/libtds.a /usr/local/freetds/lib
3. Download PHP source (jika tidak ada) sesuai dengan versi yang anda gunakan kemudian extract
# tar -xzf php-x.x.x.tar.gz # cd php-x.x.x/ext/mssql # phpize && ./configure --with-mssql=/usr/local/freetds # make && make install
4. Jika sudah selesai Selanjutnya perhatikan baris bagian
Libraries have been installed in: php-x.x.x/ext/mssql/modules
Copy mssql.so ke folder extetions php, misalkan
# cp php-x.x.x/ext/mssql/modules/mssql.so /usr/lib/php/extensions/
5. Edit php.ini, tambahkan baris: extension=mssql.so #Ref 2008-07-25 6. Configuration - freeTDS File : /usr/local/etc/freetds.conf (default)
[MSTEST] host = 192.168.1.100 port = 1433 tds version = 8.0
#Ref 2008-07-25 7. Configuration – unixODBC File : /usr/local/etc/odbcinst.ini
[TDS] Description = FreeTDS driver Driver = /usr/local/lib/libtdsodbc.so Setup = /usr/local/lib/libtdsodbc.so Trace = Yes TraceFile = /tmp/freetds.log FileUsage = 1
File : /usr/local/etc/odbc.ini
[MSTEST] Driver = TDS Description = MS SQL Test Trace = Yes TraceFile = /tmp/mstest.log Servername = 192.168.1.100 Database = testdb Port = 1433
8 . Restart Apache & Lihat phpinfo Hasil Test di Server
root@cppda:~# cat t.php <?php if (function_exists("mysql_connect")) { echo "MySQL Support\n"; } if (function_exists("mssql_connect")) { echo "MS-SQL Support\n"; } $DBSERVER="192.168.1.100"; $DBUSER="test"; $DBPASS="test123"; if ($cn = mssql_connect($DBSERVER, $DBUSER, $DBPASS)) { echo "Connected to $DBSERVER \n"; } ?> root@cppda:~# php t.php MySQL Support MS-SQL Support Connected to 192.168.1.100 root@cppda:~#
LETS THE ROCK NOW!!!! Reference :

Komentar