Heim > Backend-Entwicklung > PHP-Tutorial > PHP7-Multithreading-Tutorial

PHP7-Multithreading-Tutorial

墨辰丷
Freigeben: 2023-03-27 17:24:01
Original
2267 Leute haben es durchsucht

Dieser Artikel stellt hauptsächlich das PHP7-Multithreading-Tutorial vor.

Ich wollte schon immer einen Crawler schreiben, also habe ich einen in PHP geschrieben. PHP unterstützt kein Multithreading, daher ist die Crawling-Effizienz sehr gering, und die Speicher- und CPU-Auslastung ist sehr hoch. Ich habe etwa 10 Prozesse zum Crawlen geöffnet und die Crawling-Zeit optimiert Mac Pro wäre immer noch fast abgestürzt. Also begann ich, PHP7 in Kombination mit dem Multithreading-Tool pthreads zu verwenden. Nach dem Test war ich mit der Stabilität, Effizienz, dem Speicher und der CPU-Auslastung sehr zufrieden. Im Folgenden wird der Multithread-Umgebungsaufbau von PHP7 vorgestellt.

PHP7 installieren

Alle folgenden Befehle werden unter dem Root-Benutzer ausgeführt, um PHP7 herunterzuladen Je nach Situation werden auch alle Versionen nach PHP5.4 unterstützt.

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
Nach dem Login kopieren

Kompilieren und installieren.

Optionen können selbst ausgewählt werden, sodass mehrere Versionen von PHP koexistieren können. Wenn Sie jedoch nur Crawler verwenden, müssen außer Curl keine anderen Erweiterungen installiert werden. Wenn Sie auf Probleme stoßen, die nicht installiert werden können, können Sie selbst Lösungen finden. Wenn ich beispielsweise während der Installation auf ein Symbol stoße, das nicht gefunden werden kann, kann ich es einfach ohne tun.

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

Die Installation ist abgeschlossen

Dann beginnen Sie mit der Installation von pthreads. Die Installation mit pecl ist super einfach.

cd /usr/local/php7/bin
./pecl install pthreads
Nach dem Login kopieren

Installation abgeschlossen

Konfigurationsdatei

in /usr Erstellen Sie eine neue php.ini-Datei im Verzeichnis /local/php7/lib/. Die ursprüngliche Datei befindet sich im Stammverzeichnis des PHP-Quellcodes. Bearbeiten Sie dann php.ini und fügen Sie

< hinzu 🎜>

extension="pthreads.so"
Nach dem Login kopieren
< am Ende 🎜>

Installation abgeschlossen

Überprüfen Sie, ob die Installation erfolgreich ist

Ausführen

/usr/local/php7/bin/php -m
Nach dem Login kopieren

Liste der Modulunterstützung anzeigen. Wenn pthreads vorhanden ist, wurde die Umgebung erfolgreich erstellt. Oder bearbeiten Sie die Datei test.php

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

Die erfolgreiche Ausgabe von Hello World zeigt Erfolg an.

Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, er wird für das Studium aller hilfreich sein.


Verwandte Empfehlungen:

Die Leistung der Destruktormethode bei der Vererbung in PHP-Konstruktor_php-Fähigkeiten


PHPMSSQL-Paging-Beispiel_php-Fähigkeiten

PHP-Remote-Download-Klassenfreigabe_php-Fähigkeiten


Das obige ist der detaillierte Inhalt vonPHP7-Multithreading-Tutorial. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage