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 finextension="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!