Rabu, 14 Januari 2015

Konfigurasi Codeigniter 2.x.x dengan SQL Server 2008/2012 (Update)

Sudah lama sekali saya tidak menulis artikel diblog ini, mungkin ini yang dinamakan sindrom males ngetik ( XD ).
Dalam artikel saya yang sebelumnya mengenai Konfigurasi Codeigniter 2.1.0 dengan SQL Server 2008 masih banyak pembaca yang bingung dan bertanya-tanya
"kenapa kok masih g konek ya padahal sudah bener semua settingan koneksi database ke SQL Servernya"
Nah jangankan pembaca yang budiman (bukan ibu Diman.... :D pis.. ), penulis yang bukan suaminya bu Diman pun juga heran, kok bisa tidak konek ke database SQL Server ya (pengalaman pas habis install ulang OS).
Nah untuk itu saya sebagai penulis (tentunya bukan suaminya bu Diman) membuat ulang langkah konfigurasi CI 2.x.x untuk bisa terkoneksi dengan SQL Server 2008/2012.

Sebagai info tambahan, saya menggunakan XAMPP 1.8.2 dengan PHP 5.4 dengan OS Windows 8 64bit.
Langkah-langkahnya sebagai berikut :
  1. Install SQL Server 2008 / 2012. Jangan lupa  install juga SQL Server Native Client, karena disinilah letak permasalahannya. Kadang kita meng-instal SQL Server, tapi tidak meng-install SQL Server Native Client nya sehingga aplikasi PHP kita tidak bisa terkoneksi dengan SQL Server. SQL Server Native Client bisa di download di microsoft.com, atau kalau bingung sudah saya siapkan dan dapat di download disini
  2. Download driver SQL Server untuk PHP, bisa di download disini.  Sebagai catatan cek versi PHP yang sedang dipakai, kemudian cocokkan dengan versi library PHP untuk SQL Server. Saya menggunakan Microsoft SQL Server Drivers versi 3.0
  3. Ekstrak file yang telah di download ke extensinya php (contoh klo di XAMPP ada di XAMPP/php/ext)
  4. Edit file php.ini nya, trus tambahkan code (untuk PHP 5.4) 
    
    
    extension=php_sqlsrv_54_ts.dll
    extension=php_pdo_sqlsrv_54_ts.dll
  5. Restart Apache pada XAMPP
  6. Selanjutnya setting database.php yang ada pada folder config Codeigniter
    $db['default']['hostname'] = 'ZAWA-PC'; // Nama PC dimana SQL Server diinstal
    atau
    $db['default']['hostname'] = 'localhost';
    $db['default']['username'] = 'sa';
    $db['default']['password'] = '123456';
    $db['default']['database'] = 'db_zawa';
    $db['default']['dbdriver'] = 'sqlsrv';
    $db['default']['dbprefix'] = '';
    $db['default']['pconnect'] = FALSE;
    $db['default']['db_debug'] = TRUE;
    $db['default']['cache_on'] = FALSE;
    $db['default']['cachedir'] = '';
    $db['default']['char_set'] = 'utf8';
    $db['default']['dbcollat'] = 'utf8_general_ci';
    $db['default']['swap_pre'] = '';
    $db['default']['autoinit'] = TRUE;
    $db['default']['stricton'] = FALSE;
    
  7. Apabila SQL Server di install di komputer lain yang masih dalam satu jaringan LAN, dan komputer kita HANYA ingin mengakses SQL Server dari komputer itu. Ubah konfigurasi untuk hostname-nya menjadi
    $db['default']['hostname'] = 'tcp:XXXX,YYYY'; 
    Dimana XXXX adalah nama PC yang diinstal SQL Server dan YYYY adalah Port yang digunakan SQL Server
    $db['default']['hostname'] = 'tcp:HYURA-PC,1433'; // 1433 Port default SQL Server
    atau
    $db['default']['hostname'] = 'tcp:192.168.0.212,1433'; // 1433 Port default SQL Server
    
Setelah selesai melakukan konfigurasi, jalankan aplikasi CI nya. Semoga berhasil dan semoga membantu.
Ada udang dibalik batu, udah duluuu...... ^_^

NB : Kalau menggunakan langkah ke 7 yang hanya mengakses SQL Server yang ada dikomputer komputer lain, JANGAN LUPA LAGI, tetap install SQL Server Native Client nya. Selain itu bisa jadi perlu diinstall juga Visual C++ Redistributable sesuai dengan arsitektur dari program PHP. Download VC11

Keyword : PHP CodeIgniter, Konfigurasi SQL Server 2008

Untuk menghargai HKI(Hak Kekayaan Intelektual), sumber referensi yang saya pakai dan saya pelajari akan ditampilkan.
Referensi     : http://codeigniter.com/,  msdn.microsoft.com
Author        : Moch. Zawaruddin Abdullah, www.zawaruddin.blogspot.com