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:

penjelasan:

  • extension_dir => /usr/lib/php/20220829 merupakan 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.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

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'

0
Subscribe to my newsletter

Read articles from Arif Rahman Fauzi directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Arif Rahman Fauzi
Arif Rahman Fauzi

I am a backend developer from Indonesia, focused on php, and some cloud platform administrator