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