Instal atau aktifkan ekstensi phps pcntl

Saya belum bisa membuatnya bekerja murni melalui manajer paket, dan yum search pcntl tidak menemukan kecocokan, bahkan setelah menyiapkan beberapa repositori tambahan

Saya akhirnya menemukan satu cara yang berhasil tanpa menginstal ulang PHP sepenuhnya, meskipun akhirnya membutuhkan sedikit kompilasi ulang. Sebuah pos yang ditemukan di sini menyebutkan cara kompilasi yang agak mudah dan mengaktifkan hanya ekstensi pcntl (dengan sedikit pengeditan dan pemformatan ulang pos)

Get your current php version (check phpinfo())
Get the sources for that version here: http://www.php.net/releases/
Extract this file; you will got folder name like php5-x.x.x
Run following lines in terminal:

cd php5-x.x.x/ext/pcntl
phpize
./configure
make
cp modules/pcntl.so /usr/lib/php/modules/
echo "extension=pcntl.so" > /etc/php.d/pcntl.ini
restart apache

Note: if your /usr/lib/php/modules/ or /etc/php.d/ is not same
as this, you could try 'locate php/modules' or 'locate php.d'

Tag sudah ada dengan nama cabang yang disediakan. Banyak perintah Git menerima nama tag dan cabang, jadi membuat cabang ini dapat menyebabkan perilaku yang tidak diharapkan. Anda yakin ingin membuat cabang ini?

Dukungan Kontrol Proses di PHP tidak diaktifkan secara default. Anda harus mengkompilasi PHP versi CGI atau CLI dengan opsi konfigurasi --enable-pcntl saat mengkompilasi PHP untuk mengaktifkan dukungan Kontrol Proses

Catatan

Saat ini, modul ini tidak akan berfungsi pada platform non-Unix (Windows)

Tidak ada catatan kontribusi pengguna untuk halaman ini

Misalnya, jika Anda ingin menentukan periode waktu tunggu eksekusi tugas di Laravel, fungsi ini harus diaktifkan

Konfigurasi dan kode sumber berikut menunjukkan bahwa periode batas waktu telah ditetapkan
(Anda dapat menyetel pekerjaan untuk diakhiri sebagai kesalahan setelah X detik. )

Ada dua cara
satu untuk menentukannya dari perintah artisan saat menjalankan pekerjaan, dan yang lainnya untuk menuliskannya dalam kode sumber

Saat menggunakan perintah artisan, itu adalah sebagai berikut

php artisan queue:listen --timeout=30
_

Masuk ke mode layar penuh Keluar dari mode layar penuh

Saat menulis dalam kode sumber, itu adalah sebagai berikut

namespace App\Jobs;

class ProcessPodcast implements ShouldQueue
{
    /**
     * The number of second that the job can execute until timeout period.
     *
     * @var int
     */
    public $timeout = 120;
}

Masuk ke mode layar penuh Keluar dari mode layar penuh

Selain itu, ketika keduanya digunakan, nilai kode sumber diprioritaskan

Artinya, dalam kasus contoh di atas, waktu habis dalam 120 detik

Namun, untuk menggunakan fitur ini, PCNTL (Process Control Extensions) harus diaktifkan seperti dijelaskan di atas, jika tidak, periode batas waktu akan menjadi 60 detik secara default

Untuk informasi lebih lanjut, silakan merujuk ke tautan

Bagaimana cara mengaktifkan fitur itu?
Itu akan membuat Anda kecil hati
https. // www. php. net/manual/en/pcntl. instalasi. php

Resmi PHP

Dukungan Kontrol Proses di PHP tidak diaktifkan secara default. Anda harus mengkompilasi PHP versi CGI atau CLI dengan opsi konfigurasi --enable-pcntl saat mengkompilasi PHP untuk mengaktifkan dukungan Kontrol Proses

Tumpukan Luapan
Cara mengaktifkan pcntl di php (saat menggunakan framework seperti Symfony2)
Cara mengaktifkan PCNTL di server Ubuntu 16. 04 - Stack Overflow

Ini adalah tugas yang menakutkan bagi pengembang Docker

Namun, dimungkinkan untuk mengaktifkan PCNTL (fungsi kontrol proses) dengan mengedit Dockerfile tanpa mengkompilasi ulang PHP

Bagaimana saya tahu jika Pcntl diaktifkan?

Menjalankan php -i. grep pcntl akan mengembalikan yang berikut ini jika pcntl diaktifkan.

Apa itu Pcntl?

Terkadang PCNTL( Process Control Extensions ) diperlukan untuk menggunakan fitur tertentu di Laravel. Misalnya, jika Anda ingin menentukan periode waktu tunggu eksekusi tugas di Laravel, fungsi ini harus diaktifkan. Konfigurasi dan kode sumber berikut menunjukkan bahwa periode batas waktu telah ditetapkan.