Hilangnya Ekstensi GD dan ZIP di PHP7 Slackware Current

new-php-logoSaat pertama kali PHP74 masuk ke repo Slackware Current, ada dua ekstensi penting yang 'hilang' yaitu GD dan ZIP. Pada versi sebelumnya, ekstensi GD dan ZIP dibangun menggunakan kode built-in milik PHP. Sedangkan di PHP74, PV membangun kedua ekstensi tersebut untuk me-link ke libgd dan libzip yang ada di sistem karena kedua library tersebut lebih baru dan lebih aktif di-maintain ketimbang kode built-in PHP.

Setelah mendapat laporan mengenai hal tersebut, PV sudah memperbaiki konfigurasi paket PHP74 dan sekarang kedua ekstensi tersebut sudah terpasang di dalam direktori

/usr/lib${LIBDIRSUFFIX}/php/extensions

Hanya saja saya lihat dua ekstensi tersebut harus diaktifkan secara eksplisit melalui berkas konfigurasi PHP. Jadi saya membuat sebuah berkas di dalam direktori /etc/php.d

echo 'extension=gd' >>/etc/php.d/extensions.ini
echo 'extension=zip' >>/etc/php.d/extensions.ini

Harap perhatikan ada dua (2) tanda lebih besar pada kedua perintah. Ini karena kedua perintah akan membuat berkas /etc/php.d/extensions.ini jika tidak ada atau akan menulis ke baris baru di dalam berkas extensions.ini jika berkas sudah ada. Jadi perintah tersebut tidak akan menimpa (mengganti) isi berkas extensions.ini jika sudah ada.

Setelah itu kita bisa menjalankan ulang servis PHP jika pakai php-fpm

/etc/rc.d/php-fpm restart

atau me-restart apache jika pakai mod_php.cpnf di apache

/etc/rc.d/rc.httpd restart

Hasil dari phpinfo()

PHP74 - Ekstensi GD aktifPHP74 - Ekstensi ZIP aktif

Permasalahan berikutnya buat saya adalah, ada beberapa aplikasi yang masih harus pakai PHP73. Artinya saya harus mengkompilasi sendiri PHP73 dari source tarball-nya. Jika saya menggunakan skrip php.SlackBuild dari PHP74 milik Slackware Current, maka kedua ekstensi tadi jadi hilang juga. Akhirnya saya mengubah beberapa opsi konfigurasi build dari PHP74 supaya kedua ekstensi tersebut muncul kembali. Anda bisa pakai skrip php.SlackBuild milik saya jika perlu membangun sendiri program PHP73 di Slackware Current:

https://gitlab.com/w41l/php7-SlackBuild/tree/master/php73

Selamat mencoba