Archive for July, 2022

Instalasi extension PHP PCNTL untuk dukungan asynchronus

July 23, 2022

Butuh install extension PHP untuk menggunakan package https://github.com/spatie/async untuk dukungan asynchronus di PHP. Tapi mensyaratkan extension PHP PCNTL. Susahnya, extension ini not enabled by default. Tidak bisa diinstall lewat paket apt atau rpm. Tidak bisa juga lewat pecl. Jadi harus compile dari source code.

Oke cara ini saya belum coba, tapi kira-kira ini yang bisa dilakukan kalau di ubuntu:

  1. Install paket php-dev, dan build-essential.
  2. buat file dengan isi phpinfo() untuk melihat versi PHP yang terinstall pada ubuntu.
  3. Unduh source code PHP dari php.net. Misalnya: https://www.php.net/distributions/php-7.4.30.tar.gz. Jangan lupa di-ekstrak ya.
  4. Via command line, masuk ke folder php-7.4.30/ext/pcntl.
  5. jalankan: phpize
  6. jalankan: ./configure
  7. jalankan: make
  8. Copy file modules/pcntl.so ke /usr/lib/php/20190902/ (di ubuntu versi lain bisa jadi berbeda nama foldernya).
  9. Buat file /etc/php/7.4/mods-available/pcntl.ini yang isinya: extension=pcntl.so
  10. Aktifkan extension PHP dengan cara: sudo phpenmod pcntl
  11. Jika butuh aktif untuk apache, maka restart juga service apache-nya: sudo systemctl restart apache2

Referensi:

  1. https://serverfault.com/questions/158113/installing-pcntl-module-for-php-without-recompiling