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.

Jumat, 24 April 2026

Hal - hal yang di perlukan saat testing aplikasi

1. Text Input number kadang bisa scroll membuat user salah input

2. Buka 2 tab, jika sudah di approve tidak bisa di approve lagi

3. Jika tombol disable, inspect elemen apakah bisa di enable

4. Test Permission

5. Trim semua inputan

Rabu, 25 Maret 2026

Menambahkan field baru dan Set UUID untuk index unique (Bukan primary Key) pada Maria DB versi 10.3

 Untuk maria db versi 11 udah ada tipe data uuid, jadi tinggal ngeset aja udah langsung terbentuk uuid, nah karena maria db versi 10 masih belum ada. Jadi untuk ngakalinya adalah

1. Buat field baru dengan default value null dengan tipe data varchar (36)

2. Update field tersebut dengan uuid 

    update xxx set uuid_new = uuid();

3. Set default nya menjadi UUID

    ALTER TABLE xxx ALTER COLUMN `uuid_new` SET DEFAULT (UUID());

4. Baru set menjadi unique untuk field tersebut agar cepet aja quernya ...

Sebagai informasi untuk yang versi mariadb v.10 jika kita buat primary key varchar(36) aja udah langsung otomatis terbentuk uuid

Selasa, 09 Desember 2025

Install Imagick PHP 8.0 di Container Docker Menggunakan PECL

Mungkin karena php 8.0 sudah lama, sehingga repositorinya gk ada ,, jadi seharus nya pakai script apt install php8.0-imagick bisa. Tapi karena saat ini sudah versi 8.5 maka harus menggunakan pecl 

Berikut cara nya :

1. Install dulu dependensi nya 

        apt update

        apt install imagemagick libmagickwand-dev php-pear build-essential

    Jika error mungkin perlu update repositorinya 

        add-apt-repository ppa:ondrej/php

2. Install Imagick 

    pecl install imagick

3. Jika ada Pertanyaan "please provide the prefix of ImageMagick installation " di enter aja untuk versi default

4. Cari lokasi file php.ini

    find / -name "php.ini"

    Hingga muncul

5. Edit file php.ini kemudian tambakan berikut ini
    extension=imagick.so
6. Restart apache
    service apache2 restart


Jumat, 01 Agustus 2025

Error Try Catch pada laravel jika terdapat 2 koneksi database

 Awalnya bingung kenapa try catch di laravel kok kadang2 bisa, kadang2 gk bisa. Walhasil ternyata yang tidak berhasil itu karena terdapat koneksi yang berbeda.

Maka untuk mengatasi masalah tersebut adalah sebagai berikut :

DB::beginTransaction();
DB::connection('mysql_finance')->beginTransaction();
    try {

            DB::connection('mysql_finance')->commit();
            DB::commit();
        } catch (\Exception $e) {
            DB::connection('mysql_finance')->rollback();
            DB::rollback();
            dd($e);
        }

Kamis, 31 Oktober 2024

Cara copy backup proxmox ke server lain

 Sebenernya aneh kenapa di proxmox gk ada fitur untuk download / upload backup an proxmox.

Jadi cara yg termudah menurut saya adalah transfer file lewat command SCP

untuk file backup di proxmox biasanya lokasinya adalah di /var/lib/vz/dump

tapi gk selalu disitu sih,, tergantung misal backupnya di lokasi lain bisa dilihat dari proxmoxnya

jadi mindahin filenya di shell ketikkan perintah berikut

scp /path/to/local/file username@remote_host:/path/to/remote/destination

kemudian masukkan passwordnya.

Selesai.