# Cara Mudah Build Ekstensi PHP dengan PECL Sesuai Versi PHP Anda

### 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:

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1733373789355/67f9fcdf-43d7-4912-8f2b-ab95614d0b3c.png align="center")

penjelasan:

* `extension_dir => /usr/lib/php/20220829` merupakan lokasi dimana binaries extensi mongodb di tempatkan, jika dilihat akan seperti ini
    
    ![](https://cdn.hashnode.com/res/hashnode/image/upload/v1733373962869/44d44b66-b7c8-4059-88e3-0f27a93a8ec0.png align="center")
    

### Mencari dan menginstall extensi

Untuk mencari extensi yang akan kita install silahkan kunjungi [https://pecl.php.net/](https://pecl.php.net/) dan cari extensi [mongodb](https://pecl.php.net/package/mongodb) sesuai versi yang kalian inginkan.

unduh menggunakan perintah `curl -O` [`https://pecl.php.net/get/mongodb-1.20.1.tgz`](https://pecl.php.net/get/mongodb-1.20.1.tgz)

* Ekstrak dengan `tar xf mongodb-1.20.1.tgz`
    
* Masuk 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

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1733381715869/8ea990b7-3064-4713-a706-9c7cb364643d.png align="center")

### 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'`
