Memasang Driver SQL Server Untuk PHP 7.2 di OS Ubuntu 18.0.4
Baiklah, sebetulnya ada tutorial resmi berbahasa Inggris yang dibuat oleh Microsoft yang awak kira sudah lengkap, karena di sana juga dijelaskan mengenai pemasangan SQL Servernya di localhost. Di sini awak hanya bantu menerjemahkan ke bahasa awak ini dan spesifik membahas pemasangan ODBC, Driver PHP7.2 saja yang untuk ubuntu18.0.4 (sebetulnya awak pakai Elementary OS versi Loki) karena derivatifnya juga Ubuntu 18.0.4, juga di PHP versi 7.2.x. Selain itu belum pernah pakai.
Mengapa pakai SQL Server? Karena di tempat kerja memang menggunakan itu. Lisensinya ada, tinggal mau pake apa tidak, kata Pak Dhe.
Awak anggap klen belum punya PHP7.2 di dalam sistemnya, karena awak pun membikeunnya dari OS yang masih kosbar PHPnya.
Pertama pasang Http Apache Server
sudo apt-get install -y apache2
Coba dulu buka browser lalu ketik http://localhost/
untuk memastikan localhost di port standar : 80 sudah nyala.
Kedua tentu pasang PPA PHP karena keluarga Ubuntu tidak menyertakan repo ini secara default
sudo add-apt-repository ppa:ondrej/php -y sudo apt update
Lanjut dengan PHPnya
sudo apt-get install -y php7.2 libapache2-mod-php7.2 php7.2-cli php7.2-common php7.2-mbstring php7.2-gd php7.2-intl php7.2-xml php7.2-mysql php7.2-zip php7.2-bcmath php7.2-gmp php7.2-dev php7.2-curl --allow-unauthenticated
Sebagai catatan : php7.2-dev itu diperlukan untuk proses compiling extensi php SQL Server.
Untuk menguji apakah PHP sudah dikenali oleh Apache. Coba buat sebuah file info.php di direktory /var/www/html
yang isinya berikut:
<?php phpinfo(); ?>
Simpan lalu jalankan browser dengan mengakses http://localhost/info.php
Jika muncul seperti gambar di bawah, maka dijamin PHP sudah oke.
Lanjut ke ODBC Driver. Ini adalah penghubung PC/Server milik anda dengan Server SQL (Oh Iya, Ubuntu, Debian, Suse dan Redhat linux sekarang ini juga sudah bisa diinstall SQL Server Lho), jadi konek ke SQL Server di localhost anda bisa dilakukan. Ingat, SQL Server itu lisensinya berbayar.
Ada 2 cara memasang ODBC Driver
1. Dengan mendownload package .deb langsung
Saat tulisan ini dibuat ODBC ada pada versi terakhir : ODBC 17.2.0.1-1_amd64 silahkan klik saja untuk Download. Linknya langsung ke Microsoft bukan ke AdFly (awak nggak cari makan di blog). Untuk versi lain silahkan klik di sini Index Of ODBC Driver Ubuntu
Untuk memasang package .deb bisa pakai bantuan Mas Eddy Biasanya sudah disediakan dalam AppCenter (Elementary) atau di Ubuntu Software Center.
2. Melalui CLI (yang lebih disukai)
sudo apt install curl sudo curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add - sudo curl https://packages.microsoft.com/config/ubuntu/18.04/prod.list | sudo tee /etc/apt/sources.list.d/mssql-tools.list sudo apt-get update sudo ACCEPT_EULA=Y apt-get install mssql-tools sudo apt-get install unixodbc-dev echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc source ~/.bashrc
Kita uji dulu konek ke SQL Server
sqlcmd -S servername -U sa -P yourpassword 1> # You're connected! Type your T-SQL statements here. Use the keyword 'GO' to execute each batch of statements.
Catatan : servername bisa diganti IP address, sa adalah username standar SQL Server
Jika teks You’re connected! muncul, maka dijamin tokcer.
Langkah selanjutnya adalah mengcompile dan memasang PHP SQL Driver
sudo pecl install sqlsrv pdo_sqlsrv sudo echo "extension= pdo_sqlsrv.so" >> `php --ini | grep "Loaded Configuration" | sed -e "s|.*:\s*||"` sudo echo "extension= sqlsrv.so" >> `php --ini | grep "Loaded Configuration" | sed -e "s|.*:\s*||"`
Proses ini membutuhkan waktu, tergantung kekuatan PC.
Berikutnya mengaitkan PHP ke Apache2
sudo su apt-get install libapache2-mod-php7.2 apache2 a2dismod mpm_event a2enmod mpm_prefork a2enmod php7.2 echo "extension=pdo_sqlsrv.so" >> /etc/php/7.2/apache2/conf.d/30-pdo_sqlsrv.ini echo "extension=sqlsrv.so" >> /etc/php/7.2/apache2/conf.d/20-sqlsrv.ini sudo service apache2 restart
Setelah semua rampung, kita akan coba menguji kembali dengan mengakses halaman http://localhost/info.php yang kita buat sebelumnya.
Pastikan pada tabel PDO sudah ada sqlsrv dan juga ada judul tabel pdo_sqlsrv
Jangan lupa file info.php dihapus ya!