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 :
Tidak ada komentar:
Posting Komentar