Maison >développement back-end >Problème PHP >Comment installer l'extension de fil php sur Linux

Comment installer l'extension de fil php sur Linux

藏色散人
藏色散人original
2021-10-26 10:29:452859parcourir

Comment installer l'extension de thread php sous Linux : 1. Recherchez le fichier lnmp.conf dans le répertoire d'installation de lnmp ; 2. Ajoutez "--enable-maintainer-zts" à "PHP_Modules_Options" ; 3. Compilez les pthreads.

Comment installer l'extension de fil php sur Linux

L'environnement d'exploitation de cet article : système Ubuntu 16.04, PHP version 7.1, ordinateur DELL G3

Comment installer l'extension de thread php sous Linux ?

Installez l'extension pthreads pour PHP sous Ubuntu :

pthreads est une extension PHP qui utilise le multi-threading. Je ne vais pas trop vous présenter ici. Je crois que puisque vous l'avez déjà compris, si vous ne comprenez pas, lisez simplement la documentation.

Adresse du document : https://www.php.net/manual/zh/book.pthreads.php

Parlons du processus d'installation ici Il y a eu quelques rebondissements, et j'ai consulté beaucoup d'informations avant officiellement. l'installer. Notez-le pour conserver votre propre dossier, et donnez également une référence à vos futurs amis pour éviter les pièges.

Environnement d'installation

  • Ubuntu 16.04 LTS
  • Lnmp 1.4 - - Je crois que beaucoup de gens utilisent ce
  • code source de pthreads

Il convient de noter ici que l'installation de cette extension via pecl install pthreads échoue. Vous devez télécharger le code source, le compiler et l'installer vous-même, et il ne peut être téléchargé qu'à partir de la branche tronc GitHub. D'autres codes sources semblaient avoir des problèmes. Je les ai d'abord téléchargés depuis http://pecl.php.net, mais la compilation échouait toujours. Plus tard, j'ai vérifié les informations et j'ai découvert qu'il y avait un problème. Vous devez le télécharger depuis GitHub.

GitHub : https://github.com/krakjoe/pthreads

Configurer l'environnement PHP

Par défaut, tout le monde a déjà installé l'environnement lnmp. S'il n'a pas encore été installé, veuillez tourner à gauche et recherchez-le sur Google.
Étant donné que pthreads nécessite que PHP s'exécute de manière sécurisée pour les threads, vous devez ajouter --enable-maintainer-zts lors de la compilation de PHP. Cependant, le package d'intégration lnmp n'est pas sécurisé pour les threads par défaut.

Ici, allez dans votre répertoire d'installation lnmp et trouvez un fichier lnmp.conf

Comment installer lextension de fil php sur Linux

Ajoutez --enable-maintainer-zts dans PHP_Modules_Options, comme dans ma capture d'écran.

Compilez PHP

  1. Nouvel environnement d'installation, suivez simplement le processus lnmp étape par étape. Une fois l'installation terminée, php est thread-safe.
  2. Environnement lnmp installé Ici, nous pouvons utiliser le script de mise à niveau fourni par lnmp pour mettre à niveau PHP (PS : le script ne détecte pas le numéro de version actuel. Si nous entrons le numéro de version actuel, cela signifie réinstaller PHP. L'opération est). complété.
  3. ** Compilez PHP manuellement ** Entrez dans le répertoire lnmp1.4-full/src (selon votre situation actuelle), mon répertoire est dans /home/src/lnmp1.4-full/src et voyez s'il y a un fichier compressé package de PHP, si vous n'en avez pas téléchargé un vous-même
sudo wget http://cn2.php.net/distributions/php-7.0.20.tar.bz2
tar -jxvf php-7.0.20.tar.bz2

Remarque : vous pouvez obtenir l'adresse par vous-même sur le site officiel de php. Ce que je donne ici est actuellement disponible.

Continuer :

./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-config-file-scan-dir=/usr/local/php/conf.d --enable-fpm --with-fpm-user=www --with-fpm-group=www --enable-mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-iconv-dir --with-freetype-dir=/usr/local/freetype --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --disable-rpath --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --enable-mbregex --enable-mbstring --enable-intl --enable-pcntl --with-mcrypt --enable-ftp --with-gd --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --with-gettext --disable-fileinfo --enable-opcache --with-xsl --enable-maintainer-zts
make
sudo make install

Ce code est extrait de lnmp1.4-full/include/php.sh Vous pouvez l'étudier vous-même.
Ouvrez phpinfo();

Comment installer lextension de fil php sur Linux

Confirmez que Thread Safety est activé.

Le moment critique pour compiler pthreads est ici

Placez le package de code source pthreads dans le répertoire ext du code source PHP. Mon répertoire est : lnmp1.4-fullsrcphp -7.0.19ext [Ajustez en fonction de votre propre situation]
Entrez le répertoire pthreads

phpize
./configure --with-php-config=/usr/local/php/bin/php-config
make
sudo make install

Ajustez le chemin php-config en fonction de votre propre situation. Si vous utilisez le lnmp par défaut, c'est tout

Lorsque vous l'exécutez ici, un message indiquant que pthreads.so a été compilé avec succès devrait apparaître. Sinon, vérifiez les étapes précédentes.

Configuration de php.ini

Les didacticiels généraux en ligne diront après avoir atteint ce point : ajoutez pthreads.so au fichier php.ini et redémarrez php-fpm et c'est tout.
C'est un gouffre. Si vous ajoutez directement php.ini, vous constaterez que php-fpm ne peut pas être démarré et il vous indique que pthreads.so ne peut pas être chargé

Position correcte :
Copiez php.ini et nommez-le php-cli.ini
Mettez pthreads .so dans php .cli.ini
Ensuite, exécutez php -m | grep pthreads pour voir s'il est apparu.

C’est seulement terminé ici.

Remarque : pthreads ne doit pas être utilisé dans un environnement de production S'il y a des bugs, jouez simplement avec vous-même et exécutez des tâches en ligne de commande. Vous avez également découvert lors de l'installation finale qu'il ne peut être exécuté que via le cli. Ha ha ha ha.

Enfin, de nombreuses démos sont disponibles dans le package pthreads installé sous Windows.

Adresse de téléchargement de la version Windows : https://windows.php.net/downloads/pecl/releases/pthreads/

Apprentissage recommandé : "Tutoriel vidéo PHP"

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn