Maison  >  Article  >  développement back-end  >  Tutoriel multithread PHP7

Tutoriel multithread PHP7

墨辰丷
墨辰丷original
2018-05-23 15:34:142176parcourir

Cet article présente principalement le tutoriel multi-thread PHP7. Les amis qui en ont besoin peuvent s'y référer

J'ai toujours voulu écrire un robot, j'en ai donc écrit un en PHP. PHP ne prend pas en charge le multithreading, donc l'efficacité de l'exploration est très faible, 10 processus sont exécutés en même temps, et l'utilisation de la mémoire et du processeur est très élevée. J'ai ouvert environ 10 processus pour l'exploration et optimisé le temps d'exploration, mais mon. Mac Pro a encore failli planter. J'ai donc commencé à utiliser PHP7 combiné avec l'outil multi-threads pthreads. Après les tests, j'ai été très satisfait de la stabilité, de l'efficacité, de l'utilisation de la mémoire et du processeur. Ce qui suit présentera la construction de l'environnement multithread de PHP7.

Installer PHP7

Toutes les commandes suivantes sont exécutées sous l'utilisateur root pour télécharger PHP7. La dernière version est 7.0.3. version selon la situation, toutes les versions après PHP5.4 sont également prises en charge.

wget http://ar2.php.net/get/php-7.0.3.tar.gz/from/this/mirror -O php.tar.gz
tar xvfz php.tar.gz
cd php

Compilez et installez.

Les options peuvent être sélectionnées par vous-même, permettant à plusieurs versions de PHP de coexister. Mais le responsable-zts est nécessaire si vous effectuez uniquement des robots d'exploration, à l'exception de curl, les autres extensions n'ont fondamentalement pas besoin d'être installées. Si vous rencontrez quelque chose qui ne peut pas être installé, vous pouvez trouver la solution par vous-même. Par exemple, lorsque j'ai rencontré qu'iconv n'était pas trouvé lors de l'installation, je l'ai simplement fait sans.

./configure --prefix=/usr/local/php7 --without-iconv --enable-maintainer-zts --with-curl
make
make install

L'installation est terminée

Puis commencez à installer pthreads. L'installation avec pecl est super simple.

cd /usr/local/php7/bin
./pecl install pthreads

Installation terminée

Fichier de configuration

Créer un nouveau fichier php.ini dans le répertoire /usr/local/php7/lib/. Le fichier initial se trouve dans le répertoire racine du code source php.ini-production Ensuite, éditez php.ini et ajoutez

.

à la fin
extension="pthreads.so"

Installation terminée

Vérifiez si l'installation a réussi

Exécuter

/usr/local/php7/bin/php -m

Affichez la liste de support des modules. Si pthreads existe, l'environnement est créé avec succès. Ou éditez le fichier test.php

<?php
$thread = new class extends Thread { 
  public function run() { 
    echo "Hello World\n";
  }
};
$thread->start() && $thread->join();
?>

La sortie réussie de Hello World indique le succès.

Ce qui précède représente l’intégralité du contenu de cet article, j’espère qu’il sera utile à l’étude de chacun.


Recommandations associées :

Les performances de la méthode destructeur en héritage dans les compétences php constructor_php

PHPExemple de pagination MSSQL_compétences php

cours de téléchargement à distance php partage_compétences 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