Cara Mudah Build Ekstensi PHP dengan PECL Sesuai Versi PHP Anda
I am a backend developer from Indonesia, focused on php, and some cloud platform administrator
Pendahuluan
Pada artikel ini kalian akan belajar tentang bagaimana build extensi PHP dengan menggunakan make, yang mana tools tersebut membantu dalam me-build PHP Library dari source code sehingga lebih fleksible digunakan pada berbagai versi php dalam satu instance.
Persiapan Sebelum Instalasi
Pastikan bahwa server kalian telah terinstall php, baik itu CLI atau fpm, dan update package linux anda dengan sudo apt -y update && sudo apt -y upgrade.
Install PECL
pada kasus ini kita asumsikan bahwa kita ingin install PECL dengan php8.2, dan kita akan menambahkan extensi mongodb ke php8.2.
jalankan command sudo apt -y install php8.2-dev. Kemudian untuk menampilkan informasi mengenai lokasi extensi pada versi php kita jalnakan perintah, php8.2 -i | grep “extension“ akan tampil informasi sebagai berikut:

penjelasan:
extension_dir => /usr/lib/php/20220829merupakan lokasi dimana binaries extensi mongodb di tempatkan, jika dilihat akan seperti ini
Mencari dan menginstall extensi
Untuk mencari extensi yang akan kita install silahkan kunjungi https://pecl.php.net/ dan cari extensi mongodb sesuai versi yang kalian inginkan.
unduh menggunakan perintah curl -O https://pecl.php.net/get/mongodb-1.20.1.tgz
Ekstrak dengan
tar xf mongodb-1.20.1.tgzMasuk ke direktori
cd mongodb-1.20.1/Jalankan
phpize8.2
phpize8.2 adalah tool command untuk PHP versi 8.2 yang menyiapkan lingkungan build untuk ekstensi PHP dengan membuat file konfigurasi yang diperlukan, digunakan setelah mengekstrak kode sumber ekstensi dan sebelum menjalankan ./configure dan make untuk mengkompilasinya.
Compile dan Build
./configure --with-php-config=/usr/bin/php-config8.2
make
make install
setelah melakukan langkah di atas maka mongodb binaries telah terpasang pada extension library seperti pada gambar dibawah ini

Mendaftarkan extensi ke php.ini
Ubah file php.ini berdasarkan versi php yang kalian gunakan, untuk CLI gunakan perintah nano /etc/php/8.2/cli/php.ini untuk yang menggunakan FPM gunakan nano /etc/php/8.2/fpm/php.ini tambahkan baris extension=mongodb, kemudian restart service sudo systemctl restart php8.2-fpm.
untuk mengecek apakah telah terinstall jalankan perintah php8.2 -m |grep 'mongodb'



