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

Natives JS zur Implementierung des Flugzeug-Kriegsspiels

In diesem Artikelbeispiel wird der spezifische JS...

So fügen Sie Spalten in einer MySQL-Datenbank hinzu, löschen und ändern sie

Dieser Artikel beschreibt anhand eines Beispiels,...

React implementiert Paging-Effekt

In diesem Artikel wird der spezifische Code für R...

JavaScript zum Erzielen eines einfachen Karusselleffekts

Was ist ein Karussell? Karussell: In einem Modul ...

Vue3 Vue CLI-Konfiguration für mehrere Umgebungen

Inhaltsverzeichnis 1. Einleitung 2. Umschalten 1....

So verwenden Sie Dayjs zum Berechnen gängiger Daten in Vue

Bei der Verwendung von Vue zur Entwicklung von Pr...

MySQL partitioniert vorhandene Tabellen in der Datentabelle

Inhaltsverzeichnis So funktioniert es Betriebsabl...

Detaillierter Prozess der Vue-Front-End-Verpackung

Inhaltsverzeichnis 1. Verpackungsbefehl hinzufüge...

Javascript realisiert 10-Sekunden-Countdown zur Bezahlung

In diesem Artikel wird der spezifische Code von J...

Das neueste Installations-Tutorial für virtuelle Maschinen VMware 14

Zuerst gebe ich Ihnen den Aktivierungscode für VM...

Lösen Sie das Problem der Containerverwaltung mit Docker Compose

Im Docker-Design führt ein Container nur eine Anw...