Heim > PHP-Framework > Laravel > Die Installation von Stone unter PHP7 kann die Leistung des Laravel-Frameworks verbessern!

Die Installation von Stone unter PHP7 kann die Leistung des Laravel-Frameworks verbessern!

藏色散人
Freigeben: 2020-11-06 15:34:52
nach vorne
2681 Leute haben es durchsucht

In der folgenden Kolumne von Laravel erfahren Sie, wie Sie Stone unter PHP7 installieren, um die Leistung des Laravel-Frameworks zu verbessern. Ich hoffe, dass es Freunden in Not hilfreich sein wird!

Die Installation von Stone unter PHP7 kann die Leistung des Laravel-Frameworks verbessern!

Die Installation von Stone unter PHP7 verbessert die Leistung des Laravel-Frameworks erheblich.

Wie wir alle wissen, ist die Leistung umso geringer, je schwerer das PHP-Framework ist, da das schwere Framework viele Klassen, Methoden usw. aufruft Anpassungen während der Parsing-Funktion, was zu erheblichen Leistungseinbußen führt.

Laravel ist ein sehr beliebtes PHP-Framework, aber es ist auch ein leistungsstarkes Full-Stack-Framework. Sie können diese Methode (https://xueyuanjun.com/post/2398.html) verwenden, um die Leistung Ihres Laravel zu testen Anwendung, Die Ergebnisse sind allesamt unbefriedigend.

Natürlich hat Laravel auch eine Schwesterversion: Lumen, ein Mikro-Framework ähnlich wie Slim. Wenn Sie denken, dass dieses Mikro-Framework nützlich genug ist, kann es als Ersatz für Laravel verwendet werden.

Glücklicherweise hat sich die Leistung von PHP7 im Vergleich zu PHP5.6 fast verdoppelt und auch HHVM von Facebook ist eine gute Alternative. Verwenden Sie daher nach Möglichkeit die neueste PHP-Version. Die Vorteile sind nicht gering.

Aber bei Hochleistungs-Frameworks wie Laravel ist die Leistung auch bei Verwendung von PHP7/HHVM immer noch sehr gering. Obwohl Caching (wie Memcached/Redis usw.) den Serverdruck verringern kann, verbessert es nur die Geschwindigkeit Für Eloquent ORM ist dies ein sehr leistungsintensiver Ort, oder handelt es sich eher um eine vorübergehende als um eine dauerhafte Lösung (natürlich können Sie stattdessen die DB-Fassade verwenden, siehe meine Frage), gibt es keine Möglichkeit? (Manche Leute sagen Opcache, aber es funktioniert nicht sehr gut für das Laravel-Framework)

Nein! Du brauchst Stein!

Was ist Stein? Dies ist der Beitrag des Autors auf PHPHub (https://learnku.com/laravel/t/2092/5-minutes-to-improve-the-performance-of-laravel-frame-more-than-10-times), Check Geben Sie die Stone-Projektadresse (https://github.com/StoneGroup/stone) und die Dokumentation (https://chefxu.gitbooks.io/stone-docs/content/) heraus.

Das Folgende ist die Installationsmethode in PHP7:

Meine Testumgebung ist Debian Linux 8 64-Bit, OSX kann auch verwendet werden (verwenden Sie Homebrew, um Nginx und PHP7 zu installieren, siehe unten für andere Vorgänge), Windows nicht Aufgrund der Kompilierungserweiterung empfohlen. Relativ mühsam.

Mit Debian/Ubuntu/Linux Mint können Sie die Dotdeb-Quelle verwenden, die die neueste Version von Nginx, PHP7, MySQL/MariaDB enthält. Natürlich verrate ich Ihnen nichts. Ich werde nicht näher auf den Installationsprozess eingehen. Wenn Sie nicht wissen, wie.

Installieren Sie zunächst die Swoole- und Runkit-Erweiterungen.

pecl install swoole
Nach dem Login kopieren

Die Gefahr von PHP7 besteht darin, dass Sie möglicherweise auf das in dieser Ausgabe beschriebene Problem stoßen, wenn PHP7 von dieser Quelle installiert wird, da PEAR nicht die neueste Version ist:

wget http://pear.php.net/go-pear.phar
php go-pear.phar
Nach dem Login kopieren

Zum Zeitpunkt des Schreibens dieses Artikels: Die Runkit-Erweiterung wird von PHP7 vorübergehend nicht unterstützt. Verwenden Sie daher nicht pecl, um sie zu installieren, da sonst Kompilierungsfehler auftreten. Aber jemand hat eine modifizierte Version erstellt, die verwendet werden kann, siehe diese Probleme.

Installationsmethode:

git clone https://github.com/runkit7/runkit7.git
cd runkit7
phpize
./configure
make
sudo make install
Nach dem Login kopieren

Jetzt sind beide Erweiterungen erfolgreich installiert.

Dann schreiben Sie die INI-Datei basierend auf Ihrem tatsächlichen Pfad zu PHP7 und laden Swoole und Runkit. Wenn Sie Windows oder OSX zur Installation mit Homebrew verwenden, ändern Sie einfach php.ini direkt.

Der Pfad für die Installation von PHP7 mithilfe der Dotdeb-Quelle lautet /etc/php/7.0/, daher lautet mein relevanter Befehl:

sudo echo extension=swoole.so >> /etc/php/7.0/cli/conf.d/20-swoole.ini
sudo echo extension=swoole.so >> /etc/php/7.0/fpm/conf.d/20-swoole.ini
sudo echo extension=runkit.so >> /etc/php/7.0/cli/conf.d/20-runkit.ini
sudo echo extension=runkit.so >> /etc/php/7.0/fpm/conf.d/20-runkit.ini
Nach dem Login kopieren

Dann installieren Sie Stone:composer und benötigen stone/kernel:dev-master. Beim Schreiben muss darauf hingewiesen werden Zum Zeitpunkt dieses Artikels sind zwei Fehler im Gitbook des Autors enthalten:

1 Pecl als PCEL geschrieben

2. Es ist immer noch die Adresse seines vorherigen Projekts, und er sagte in dem Beitrag, dass er die Adresse in StoneGroup/stone geändert habe, da das vorherige Projekt einige Informationen über sein Unternehmen enthielt.

Jeder muss diesen Artikel befolgen, wenn er sich auf Stone-Dokumente bezieht, um Umwege zu vermeiden. Ich habe dem Autor Feedback gegeben und er hat das Problem behoben.

Starten Sie abschließend php-fpm neu und verwenden Sie php -m, um zu sehen, ob diese beiden Erweiterungen erfolgreich geladen wurden.

Für die nächsten Schritte müssen Sie nur der Dokumentation folgen. An diesem Punkt ist Stone erfolgreich auf PHP7 installiert! Starten Sie Stone und genießen Sie den Leistungssprung!

PS: Ich habe ein anderes ähnliches Projekt gefunden, aber die Implementierungsdetails sind anders. Wenn Sie interessiert sind, können Sie einen Blick darauf werfen: https://github.com/scil/LaravelFly

Das obige ist der detaillierte Inhalt vonDie Installation von Stone unter PHP7 kann die Leistung des Laravel-Frameworks verbessern!. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:segmentfault.com
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