Detaillierte Erläuterung des vollständigen Anwendungsbeispiels zur Entwicklung von Hyperf unter Docker

Detaillierte Erläuterung des vollständigen Anwendungsbeispiels zur Entwicklung von Hyperf unter Docker

Offizielle Hyperf-Website
Hyperf offizielle Dokumentation Installation

1. Docker-Nutzung

  • Docker-Suche listet Hyperf-Bilder auf
  • Docker Pull lädt das Image auf den lokalen
  • Führen Sie das Image aus, mounten Sie das Verzeichnis in den Ordner unter dem aktuellen Verzeichnis und führen Sie es auf die gleiche Weise aus wie /bin/sh
  • Geben Sie das lokal gemountete Verzeichnis hyperf-skeleton ein
$ Docker-Suche Hyperf 
$ docker pull hyperf/hyperf 
$ docker run -v $PWD/:/hyperf-skeleton -p 9501:9501 -it --entrypoint /bin/sh hyperf/hyperf
$ cd Hyperf-Skelett

2. Nachdem der Image-Container ausgeführt wird, installieren Sie Composer im Container

Laden Sie zuerst Composer in den Docker-Container herunter

$ wget https://mirrors.aliyun.com/composer/composer.phar

3. Ausführungsberechtigungen ändern

Mit diesem Vorgang wird die Einschränkung behoben, dass Composer keine Root-Berechtigungen zur Ausführung zulässt.

Gleichzeitig können Sie beim Benutzerwechsel direkt

Die Autorisierung 777 wird in Produktionsumgebungen nicht empfohlen.

$ chmod -R 777 ./composer.phar

4. Verschieben Sie Composer in das Bin-Verzeichnis und benennen Sie es in Composer um

Die Autorisierung 777 wird in Produktionsumgebungen nicht empfohlen.

$ mv composer.phar /usr/local/bin/composer

5. Ändern Sie das Root-Passwort

Da wir das Root-Passwort nicht kennen, müssen wir es zweimal eingeben, um das Passwort zu ändern, und es wird nicht angezeigt. Bitte beachten Sie

$ passwd root

6. Sie können die Linux-Distributionsversion überprüfen (der Befehl wird anders sein)

Das offizielle Image ist Linux Alpine

$ Katze /etc/os-release

7. Erstellen Sie eine Gruppe mit einer bestimmten GID

Das offizielle Image ist Linux Alpine. Die Befehle unterscheiden sich von den Centos-Befehlen, die viele Freunde verwenden. Wenn Sie Ihr eigenes Image erstellt haben, folgen Sie einfach dem Befehl der Distributionsversion.

$ addgroup -g 10001 -S www

8. Erstellen Sie einen Benutzer mit einer bestimmten UID

Geben Sie die Shell so an, dass sie zur angegebenen Benutzergruppe gehört.

$ adduser www -u 20001 -D -S -s /bin/bash -G www

9. Erlauben Sie dem neu erstellten Benutzer, su zu verwenden - für den Root-Benutzer.

$ chmod 4755 /bin/busybox

10. Wechseln Sie zum WWW-Benutzer und führen Sie Composer aus

su www Benutzer wechseln
whoami Aktuellen Benutzer anzeigen

$ su www
$ wer ich bin

11. Stellen Sie das Composer-Image auf das Alibaba Cloud-Image ein, um den Download im Inland zu beschleunigen

Ob Alibaba Cloud-Bilder verwendet werden, hängt natürlich von den persönlichen Bedürfnissen ab (kein Werbeverdacht).

$ Komponist config -g repo.packagist Komponist https://mirrors.aliyun.com/composer

12. Installieren Sie das Hyperf-Skelett über Composer

Wählen Sie bei der Installation ganz nach Ihren persönlichen Bedürfnissen!

$ Komponist erstellt Projekt Hyperf/Hyperf-Skeleton

13. Überprüfen Sie die Konfiguration und andere Informationen

Im Allgemeinen sind die offiziellen Quellbilder von Hyperf konfiguriert. Das Folgende ist nur ein Befehl zum Anzeigen von Swoole

$ php --ri swoole
$ php -i | grep ini

14. Schreiben Sie die folgenden Informationen in php.ini

Achten Sie besonders auf das große O in „Off“.

Erweiterung="grpc.so"
Erweiterung="redis.so"
Erweiterung="swoole.so"
swoole.use_shortname = "Aus"

15. Erweiterungen mit Kompatibilitätsproblemen

  • Da Hyperf auf der Swoole-Coroutine-Implementierung basiert
  • Die von Swoole 4 bereitgestellte Coroutine-Funktion ist in PHP beispiellos, daher gibt es immer noch Kompatibilitätsprobleme mit vielen Erweiterungen.
  • Die folgenden Erweiterungen (einschließlich, aber nicht beschränkt auf) verursachen bestimmte Kompatibilitätsprobleme und können nicht verwendet werden oder mit ihnen koexistieren:
  • Abonnieren
  • xdebug
  • schwarzes Feuer
  • verfolgen
  • Abonnieren

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird.

Das könnte Sie auch interessieren:
  • So debuggen Sie Hyperf elegant in PhpStorm
  • Anordnung und Ergänzung von PHP-Framework-Wissenspunkten
  • Beispielerklärung des Workerman-Frameworks in PHP
  • Eine kurze Diskussion über die Vor- und Nachteile der sieben häufig verwendeten PHP-Frameworks
  • Analyse der Beispiele für automatisches Laden und autonome Objekterstellungsvorgänge des PHP-Frameworks CI (Codeigniter)
  • Beispiel für die Verwendung von JWT im ThinkPHP5-Framework
  • Beispielanalyse der Ausnahmebehandlungsoperation des Thinkphp5-Frameworks
  • Beispiel für die Einführung des Markdown-Editors im Thinkphp5-Framework
  • Eine kurze Diskussion zur Reduzierung der Scanzeit des Hyperf-Frameworks

<<:  Detaillierte Erklärung zur Überwachung von MySQL-Anweisungen

>>:  Implementierung von Portalen und Fehlergrenzbehandlung in React

Artikel empfehlen

Three.js-Beispielcode zur Implementierung des Tautropfen-Animationseffekts

Vorwort Hallo zusammen, hier ist der CSS-Assisten...

Eine kurze Analyse der Unterschiede zwischen Undo, Redo und Binlog in MySQL

Inhaltsverzeichnis Vorwort 【Protokoll rückgängig ...

CSS-Position feste linke und rechte Doppelpositionierungs-Implementierungscode

CSS-Position Das Positionsattribut gibt den Posit...

Installation von Docker CE auf Ubuntu

Dieser Artikel dient zur Aufzeichnung der Install...

Tiefgreifendes Verständnis des Linux-Lastausgleichs LVS

Inhaltsverzeichnis 1. LVS-Lastausgleich 2. Grundl...

Vue+Rem benutzerdefinierter Karusselleffekt

Die Implementierung eines benutzerdefinierten Kar...

MySQL Dual-Machine Hot-Standby-Implementierungslösung [testbar]

Inhaltsverzeichnis 1. Konzept 2. Umgebungsbeschre...

So überwachen Sie Oracle-Datenbanken mit Zabbix Agent2

Überblick In Zabbix Version 5.0 und höher wurde e...

Detaillierte Erklärung zur Verwendung von Router-View-Komponenten in Vue

Wenn Sie ein Vue-Projekt entwickeln, müssen Sie h...

HTML-Tutorial: Das Optgroup-Element verstehen

Wählen Sie die Kategorieauswahl. Nach Tests könne...