Rabu, 21 Oktober 2026

Install Driver SQL Server Di Ubuntu 18 dan PHP 8.0

 

Metode 1: Download Arsip Package Langsung (Bypass Registry PECL)

Langkah ini melewati proses pencarian katalog PECL yang gagal dan langsung mengompilasi dari file tarball resmi:

  1. Unduh paket pdo_sqlsrv dan sqlsrv versi 5.10.1 langsung dari server PECL:

    Bash
    cd /tmp
    wget https://pecl.php.net/get/pdo_sqlsrv-5.10.1.tgz
    wget https://pecl.php.net/get/sqlsrv-5.10.1.tgz
    

    Verifikasi: File .tgz berhasil terunduh di direktori /tmp tanpa error HTTP.

  2. Pasang langsung dari file arsip lokal menggunakan path spesifik PHP 8.0:

    Bash
    sudo pecl -d php_suffix=8.0 install pdo_sqlsrv-5.10.1.tgz
    sudo pecl -d php_suffix=8.0 install sqlsrv-5.10.1.tgz
    

    Verifikasi: Output di baris akhir menampilkan Build process completed successfully dan lokasi file .so.

Metode 2: Bersihkan Cache dan Reset Channel PECL

Jika Anda ingin memperbaiki sistem PECL agar berjalan normal kembali:

  1. Bersihkan cache dan hapus metadata channel lama:

    Bash
    sudo rm -rf /tmp/pear/temp/*
    sudo rm -rf /root/.pearrc
    sudo pecl clear-cache
    
  2. Daftarkan ulang channel resmi:

    Bash
    sudo pecl channel-delete pecl.php.net
    sudo pecl channel-add https://pecl.php.net/channel.xml
    sudo pecl channel-update pecl.php.net
    

    Verifikasi: Output terminal menunjukkan Channel "pecl.php.net" is up to date.

  3. Coba pasang kembali:

    Bash
    sudo pecl install pdo_sqlsrv-5.10.1
    

Metode 3: Kompilasi Manual Menggunakan phpize8.0

Jika pecl tetap bermasalah, kompilasi manual adalah solusi pasti:

  1. Ekstrak arsip yang telah diunduh:

    Bash
    cd /tmp
    tar -xvzf pdo_sqlsrv-5.10.1.tgz
    cd pdo_sqlsrv-5.10.1
    
  2. Jalankan build environment untuk PHP 8.0:

    Bash
    phpize8.0
    ./configure --with-php-config=/usr/bin/php-config8.0
    make
    sudo make install
    

    Verifikasi: Di akhir perintah sudo make install, terminal akan menampilkan direktori modul seperti Installing shared extensions: /usr/lib/php/20200930/.

Konfigurasi Modul & Pengujian

Setelah salah satu metode di atas berhasil:

  1. Pastikan file konfigurasi aktif:

    Bash
    sudo bash -c 'echo "extension=pdo_sqlsrv.so" > /etc/php/8.0/mods-available/pdo_sqlsrv.ini'
    sudo bash -c 'echo "extension=sqlsrv.so" > /etc/php/8.0/mods-available/sqlsrv.ini'
    sudo phpenmod -v 8.0 sqlsrv pdo_sqlsrv
    
  2. Cek apakah modul sudah dikenali:

    Bash
    php8.0 -m | grep -i sqlsrv
    

    Verifikasi: Output akan menampilkan baris pdo_sqlsrv dan sqlsrv.