Aplikasi PHP yang menggunakan SQL Server sebagai database dan berjalan di server linux Ubuntu memerlukan driver tambahan agar database dapat digunakan. Pada artikel ini, akan menjelaskan bagaimana cara menginstal driver ODBC dan driver SQL Server di system operasi linux Ubuntu serta konfigurasi koneksi database SQL Server dengan PHP.
Instal Microsoft ODBC driver SQL Server di Ubuntu
Ubuntu yang saya gunakan saat ini yaitu versi 18.04, Anda dapat menyesuaikan versi Ubuntu dengan mengganti kode versi di baris perintah yang di beri highlight. Buka terminal pada Linux, ketikan baris perintah di bawah ini.
sudo su
curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add -
#Ubuntu 18.04
curl https://packages.microsoft.com/config/ubuntu/18.04/prod.list > /etc/apt/sources.list.d/mssql-release.list
exit
sudo apt-get update
sudo ACCEPT_EULA=Y apt-get install -y msodbcsql17
# optional: for bcp and sqlcmd
sudo ACCEPT_EULA=Y apt-get install -y mssql-tools
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc
source ~/.bashrc
# optional: for unixODBC development headers
sudo apt-get install -y unixodbc-dev
Instal driver Microsoft SQL Server di Ubuntu
Versi PHP yang saya gunakan saat ini yaitu versi 7.4, Anda dapat menyesuaikan versi PHP dengan mengganti kode versi di baris perintah yang di beri highlight, ketikan baris perintah di bawah ini.
sudo pecl install sqlsrv
sudo pecl install pdo_sqlsrv
sudo su
printf "; priority=20\nextension=sqlsrv.so\n" > /etc/php/7.4/mods-available/sqlsrv.ini
printf "; priority=30\nextension=pdo_sqlsrv.so\n" > /etc/php/7.4/mods-available/pdo_sqlsrv.ini
exit
sudo phpenmod -v 7.4 sqlsrv pdo_sqlsrv
Konfigurasi server Apache
sudo su
apt-get install libapache2-mod-php7.4 apache2
a2dismod mpm_event
a2enmod mpm_prefork
a2enmod php7.4
sudo service apache2 restart
Terakhir kita uji coba membuat koneksi antara PHP dengan SQL Server.
<?php
$serverName = "serverName\SQLEXPRESS";
$connectionInfo = array( "Database"=>"dbName", "UID"=>"userName", "PWD"=>"password");
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn ) {
echo "Connection established.<br />";
}else{
echo "Connection could not be established.<br />";
die( print_r( sqlsrv_errors(), true));
}?>
Untuk menghubungkan ke server SQL Server dengan port tertentu, tambahkan port yang diinginkan ke parameter $serverName. Pisahkan nama server dan port dengan koma. Contoh
$serverName = "serverName\SQLEXPRESS, 1433";