L'extension pcntl peut prendre en charge les opérations multithread de PHP (linux uniquement)
Il était initialement nécessaire de recompiler PHP et d'ajouter --enable-pcntl à l'invite de configuration ultérieure.
Parce que PHP est installé en utilisant yum, la méthode ci-dessus ne peut pas être utilisée
Ce qui suit présente un moyen d'ajouter dynamiquement des extensions à php phpize
1 Tout d'abord, regardez. dans le répertoire où se trouve la commande phpize ( ps : Mon répertoire/usr/bin/phpize)
S'il n'est pas trouvé, effectuez l'installation
yum install php53_devel (ps:请注意自己的版本)
Installation terminée. La commande phpize sera générée
2. Allez sur php.net pour télécharger la version correspondante du fichier source php
Prenons php-5.3.17 comme exemple. décompression, entrez le module correspondant Suivant
cd ext/pcntl #先执行phpize /usr/bin/phpize ./configure --with-php-config=/usr/bin/php-config (ps:请正确的指定php-config的目录) #编译、安装 make && make install
Une erreur s'est produite à ce moment
./configure compilé normalement, mais make a fait un erreur
erreur : 'PHP_FE_END' non déclaré ici (pas dans une fonction)
Solution :
Il y a une erreur dans le code source, entrez dans le répertoire php-5.3.17
sed -i 's |PHP_FE_END|{NULL,NULL,NULL}|' ./ext/**/*.c
sed -i 's|ZEND_MOD_END|{NULL,NULL,NULL}|' ./ext/**/*.c
Refaire && make install
3. Compiler Une fois terminé, un fichier pcntl.so sera généré. Dans le répertoire du modèle php
éditez /etc/php.ini et ajoutez
extension=pcntl.so
4. Redémarrez Apache
. service httpd restart
5. Testez si l'installation est réussie
<?php echo pcntl_fork(); ?>
Sortie : 23165
Pour plus d'articles sur l'ajout de l'extension pcntl à php dans le système Linux, veuillez faire attention au site Web chinois de PHP !