Heim > Artikel > PHP-Framework > Warum Laravel auf Swoole ausführen?
Warum Laravel auf Swoole ausführen? Denn die Verwendung von Swoole kann Laravel-Anwendungen beschleunigen. Im folgenden Artikel erfahren Sie, wie Sie Laravel auf Swoole verwenden. Ich hoffe, er wird Ihnen hilfreich sein!
Swoole ist ein asynchrones Programmierframework in Produktionsqualität, das für PHP entwickelt wurde. Es handelt sich um eine rein in C entwickelte Erweiterung, die es PHP-Entwicklern ermöglicht, hochleistungsfähige, skalierbare gleichzeitige TCP-, UDP-, Unix-Socket-, HTTP- und WebSocket-Dienste in PHP zu schreiben, ohne zu viel nicht blockierende I/O-Programmierung und Low zu benötigen -Level-Linux-Kernel-Kenntnisse. Sie können sich Swoole wie NodeJS vorstellen, jedoch mit höherer Leistung für PHP. [Empfohlenes Lernen: Swoole-Tutorial]
Die folgende Abbildung zeigt den Lebenszyklus von PHP. Wie Sie sehen, muss PHP jedes Mal, wenn Sie ein PHP-Skript ausführen, Module initialisieren und die Zend-Engine für Ihre Laufzeitumgebung starten. Und kompilieren Sie PHP-Skripte in OpCodes für die Ausführung der Zend-Engine.
Ein solcher Lebenszyklus muss jedoch jedes Mal ausgeführt werden, wenn eine Anfrage gestellt wird. Denn die durch eine einzelne Anfrage erstellte Umgebung wird unmittelbar nach der Ausführung der Anfrage zerstört.
Mit anderen Worten: Im traditionellen PHP-Lebenszyklus wird viel Zeit damit verschwendet, Ressourcen für die Skriptausführung zu erstellen und zu zerstören. Stellen Sie sich ein Framework wie Laravel vor. Wie viele Dateien müssen in jeder Anfrage geladen werden? Gleichzeitig werden viele E/A-Vorgänge verschwendet
Wenn wir also Swoole verwenden, um einen Server auf Anwendungsebene zu erstellen, und Alle Skriptdateien sind vorhanden. Kann sie nach einmaligem Laden im Speicher gespeichert werden? Aus diesem Grund müssen wir versuchen, Laravel auf Swoole auszuführen. Swoole kann eine leistungsstarke Leistung bieten, während Laravel eine elegante Verwendung der Codestruktur ermöglichen kann. Diese beiden sind wirklich eine perfekte Kombination!
Das Folgende sind die Hauptfunktionen von swooletw/laravel-swoole
: swooletw/laravel-swoole
的主要特点:
Socket.io
协议使用 Composer 安装:
$ composer require swooletw/laravel-swoole
这个包依赖于 Swoole 。在使用这个包之前,请确保你的机器安装了正确的 Swoole 。使用下面的命令快速安装(linux):
pecl install swoole
在安装这个扩展之后,你需要编辑 php.ini 添加 extension=swoole.so
。
php -i | grep php.ini # check the php.ini Warum Laravel auf Swoole ausführen? location sudo echo "extension=swoole.so" >> php.ini # add the extension=swoole.so to the end of php.ini php -m | grep swoole # check if the swoole extension has been enabled
访问 官网 获取更多的信息。
注意:Swoole 现在只支持 Linux 和 OSX 。Windows 服务器现在还不支持。
然后,添加服务提供者:
如果你使用 Laravel ,在 config/app.php
服务提供者数组添加该服务提供者:
[ 'providers' => [ SwooleTW\Http\LaravelServiceProvider::class, ], ]
如果你使用 Lumen ,请将下面的代码添加到 bootstrap/app.php
:
$app->register(SwooleTW\Http\LumenServiceProvider::class);
这个包支持包自动发现机制。如果你运行 Laravel 5.5 以上版本,你可以跳过这一步。
现在,你可以执行以下的命令来启动 Swoole HTTP 服务。
$ php artisan swoole:http start
然后你可以看到以下信息:
Starting swoole http server... Swoole http server started: <http://127.0.0.1:1215>
现在可以通过访问 http://127.0.0.1:1215
Socket . io
-Protokollwrk -t4 -c100 http://your.appDieses Paket hängt von Swoole ab. Bevor Sie dieses Paket verwenden, stellen Sie sicher, dass auf Ihrem Computer das richtige Swoole installiert ist. Verwenden Sie den folgenden Befehl für eine schnelle Installation (Linux):
Running 10s test @ http://lumen.app:9999 4 threads and 100 connections Thread Stats Avg Stdev Max +/- Stdev Latency 1.14s 191.03ms 1.40s 90.31% Req/Sec 22.65 10.65 50.00 65.31% 815 requests in 10.07s, 223.65KB read Requests/sec: 80.93 Transfer/sec: 22.21KB
extension=swoole.so
hinzufügen. Running 10s test @ http://127.0.0.1:1215 4 threads and 100 connections Thread Stats Avg Stdev Max +/- Stdev Latency 11.58ms 4.74ms 68.73ms 81.63% Req/Sec 2.19k 357.43 2.90k 69.50% 87879 requests in 10.08s, 15.67MB read Requests/sec: 8717.00 Transfer/sec: 1.55MB
Hinweis: Swoole unterstützt derzeit nur Linux und OSX. Windows-Server werden noch nicht unterstützt. Dann fügen Sie den Dienstanbieter hinzu:
Wenn Sie Laravel verwenden, fügen Sie den Dienstanbieter im Dienstanbieter-Array config/app.php
hinzu: rrreeeWenn Sie Lumen verwenden, fügen Sie bitte Hinzufügen hinzu Fügen Sie den folgenden Code zu bootstrap/app.php
hinzu: rrreee
Machen Sie es zum LaufenJetzt können Sie den folgenden Befehl ausführen, um den Swoole-HTTP-Dienst zu starten.
rrreeeDann können Sie die folgenden Informationen sehen:🎜Mit MacBook Air 13 Zoll (2015) und sauberem Lumen 5.5-Projekttest: 🎜Benchmark-Testtool: wrk🎜rrreee🎜🎜🎜Nginx basierend auf FPM🎜🎜🎜rrreee🎜🎜 🎜Swoole HTTP-Dienst🎜 🎜🎜rrreee🎜Weitere Informationen🎜🎜 Schauen Sie sich das offizielle Paket unter 🎜Github Repo🎜 an. Weitere Informationen finden Sie auch in der 🎜Offiziellen Dokumentation🎜. 🎜🎜🎜Englische Originaladresse: https://laravel-news.com/laravel-swoole?🎜🎜🎜[Verwandte Empfehlungen: 🎜Laravel-Video-Tutorial🎜]🎜rrreee
Sie können jetzt die Laravel-Anwendung aufrufen, indem Sie aufhttp://127.0.0.1:1215
zugreifen.
Das obige ist der detaillierte Inhalt vonWarum Laravel auf Swoole ausführen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!