Mengcompile PHP8 Extension di Linux

Setelah kemarin kita sudah mempelajari bersama cara Menginstall PHP 8 di Void Linux (Compile From Source), kita selanjutnya akan mempelajari untuk mengcompile php extension sendiri. Sedikit bercerita, setelah kemarin saya melakukan kompilasi PHP 8 di Void Linux saya, saya menemukan masalah karena phpMyAdmin memerlukan extension zlib dimana extension tersebut tidak saya sertakan ketika melakukan kompilasi php 8.

Jika anda tidak melakukan kompilasi php sendiri, silahkan instal development version dari php anda, misalnya dengan sudo xbps-install php-devel untuk void, sudo apt-get install php-dev untuk debian based distro, sudo dnf install php-devel untuk fedora dan opensuse, untuk Arch development package akan diinstall secara default ketika menginstall PHP.

Melakukan Kompilasi Extension PHP

Persyaratan

Sebelum melakukan kompilasi, pastikan anda sudah memiliki source code extension php yang akan dicompile. Selain dari halaman resminya, anda juga dapat mengclone repository resmi php di github.

Melakukan Persiapan Kompilasi

Silahkan buka terminal, lalu arahkan menuju direktori extension yang akan anda install. Biasanya terletak di {lokasi source code php}/ext/{nama extension}. Setelah berada di direktori tersebut, lalu jalankan perintah:

phpize

Dilansir dari situs resmi php Perintah phpize ini berguna untuk menyiapkan enviroment untuk melakukan kompilasi extension.

Terkadang, anda akan menemukan pesan kesalahan seperti ini:

Cannot find config.m4. 
Make sure that you run '/usr/local/bin/phpize' in the top level source directory of the module

Untuk mengatasinya, kita harus melakukan rename config yang ada (biasanya terdapat tambahan angka 0 dibelakang nama filenya):

mv config*.m4 config.m4

Lalu jalankan perintah phpize lagi.

Hasil perintah phpize

Melakukan Konfigurasi Kompilasi

Sama seperti proses konfigurasi untuk kompilasi php, silahkan jalankan perintah berikut ini:

./configure

Untuk melihat konfigurasi extension yang tersedia, jalankan:

./configure --help

Melakukan Proses Kompilasi

Setelah melakukan konfigurasi, saatnya melakukan kompilasi. Sama seperti program C lainnya, gunakan perintah ini untuk melakukan kompilasi:

make

Jika kompilasi sukses akan ada hasil kurang lebih seperti ini:

Hasil output kompilasi extension php

Melakukan Installasi Extension

Setelah kompilasi berhasil, sama seperti program C lainnya, jalankan perintah berikut untuk melakukan installasi:

sudo make install
Hasil installasi module php

Mengubah Konfigurasi PHP.INI

Langkah terakhir adalah kita harus mengubah konfigurasi php.ini agar meload extension yang baru saja diinstall. Biasanya file php.ini terletak di /usr/local/lib/php.ini atau /etc/php.ini tergantung konfigurasi server anda.

Cari line extension={nama extension yang diinstall} dan uncoment line tersebut, atau jika tidak ada tambahkan saja:

Mengubah file php.ini untuk menambah extension

Mengecek Extension terload di PHP

Jalankan perintah php -m di terminal untuk melihat extension apa saja yang sudah terload di konfigurasi. Jika extension yang baru saja dicompile ada, berarti konfigurasi berhasil:

List extension php terload

Kesimpulan

Proses kompilasi Extension php bisa dibilang sangat mudah bagi orang yang sudah terbiasa dengan terminal dan enviroment linux itu sendiri. Sebenarnya lebih mudah menginstall extension ini dari package management distro anda, tetapi terkadang extension tersebut tidak ada atau karena versi php anda belum ada di package distro anda.

Sekain artikel kali ini, Terima Kasih telah membaca!