So aktivieren Sie das Swoole-Modul für PHP in ServBay
ServBay ist eine leistungsstarke lokale Webentwicklungsumgebung, die viele Tools und Erweiterungen für Entwickler mitbringt – darunter das Hochleistungsmodul Swoole für PHP. Swoole ist eine asynchrone, parallele und leistungsorientierte Netzwerk-Engine speziell für PHP, mit der Sie die Performance und Skalierbarkeit Ihrer PHP-Anwendungen erheblich steigern können. In diesem Leitfaden erfahren Sie ausführlich, wie Sie das Swoole-Modul in ServBay aktivieren und so die Vorteile für Ihre modernen PHP-Anwendungen und Services optimal nutzen.
Über das Swoole-Framework
Swoole ist ein Open-Source-Projekt, das PHP fortschrittliche Funktionen ähnlich zu Node.js bietet, darunter asynchrones I/O, Koroutinen und Mehrprozessarchitektur. Mit Swoole können sich PHP-Entwickler von den Limitierungen klassischer Webserver (wie Apache/Nginx + PHP-FPM) und deren synchron blockierendem Modell lösen und performante Serveranwendungen schreiben, etwa:
- High-Performance API-Gateways
- Realtime-Kommunikations-Apps (WebSocket)
- Gameserver
- IoT-Anwendungen (Internet of Things)
- Hintergrunddienste und Task-Prozessoren
Hauptmerkmale von Swoole
- Hohe Performance: Asynchrones, nicht-blockierendes I/O durch Systemaufrufe wie epoll/kqueue, kombiniert mit Multithreading, Multiprocessing und Koroutinen für hohe Durchsatzraten und niedrige Latenzen.
- Asynchronität & Koroutinen: Koroutinen ermöglichen eine synchrone Schreibweise von asynchronem Code – das steigert die Entwicklungseffizienz.
- Umfangreiche Komponenten: Integrierte HTTP-, WebSocket-, TCP-/UDP-Server und -Clients sowie Connection Pools, Timer, Prozessmanagement u.v.m.
- Einfache Integration: Kann mit bestehenden PHP-Frameworks (wie Laravel, Symfony, ThinkPHP etc.) genutzt oder für neue native Swoole-Anwendungen verwendet werden.
Unterstützung des Swoole-Moduls in ServBay
ServBay liefert die Swoole-Erweiterung von Haus aus für verschiedene PHP-Versionen mit – es ist kein zusätzlicher Download oder das Kompilieren nötig. ServBay verwaltet die jeweils kompatible Swoole-Version für jede unterstützte PHP-Version.
Aktuell unterstützt ServBay Swoole für folgende PHP-Versionen:
- PHP 5.6
- PHP 7.x-Serie
- PHP 8.x-Serie (inklusive PHP 8.5)
Anhand der von Ihnen gewählten PHP-Version wählt ServBay automatisch die passende Swoole-Erweiterung aus und bindet sie ein.
Voraussetzungen
Vor dem Aktivieren des Swoole-Moduls sollten Sie sicherstellen, dass:
- ServBay erfolgreich installiert und läuft.
- Die gewünschte PHP-Version, die Sie mit Swoole nutzen möchten, in ServBay installiert und ausgewählt ist.
Schritt-für-Schritt: Swoole-Modul aktivieren
ServBay bietet zwei Möglichkeiten zur Aktivierung von Swoole: Über das grafische Interface (GUI) oder durch manuelles Bearbeiten der Konfigurationsdateien. Die GUI-Methode ist die empfohlene und benutzerfreundlichste Variante.
Aktivierung über die ServBay-GUI (Empfohlen)
So aktivieren Sie Swoole am einfachsten:
- Öffnen Sie die grafische Benutzeroberfläche von ServBay.
- Klicken Sie in der linken Navigation auf Languages (Sprachen).
- Wählen Sie PHP aus.
- Finden Sie rechts in der Liste die PHP-Version, für die Sie Swoole aktivieren möchten (z. B.
PHP 8.3
). Achten Sie darauf, dass diese Version derzeit ausgewählt ist (grüner Punkt). - Klicken Sie rechts neben dieser PHP-Version auf den Button Extensions (Erweiterungen).
- Suchen Sie in der nun erscheinenden Liste das swoole-Modul.
- Schalten Sie den Switch links am swoole-Eintrag auf „aktiviert“ (Schalter ist grün).
- Klicken Sie unten im Fenster auf Save (Speichern) oder Apply (Anwenden).
- Sie werden aufgefordert, den PHP-Service neu zu starten, um die Erweiterung zu laden. Klicken Sie auf Restart (Neustart).
Nach dem Neustart ist das Swoole-Modul erfolgreich aktiviert.
Aktivierung per Konfigurationsdatei (Fortgeschrittene)
Für fortgeschrittene Nutzer oder wenn Sie eine manuelle Anpassung bevorzugen, können Sie Swoole über die PHP-ini
-Dateien aktivieren.
Navigieren Sie in das
conf.d
-Verzeichnis Ihrer gewünschten PHP-Version. In diesem Ordner liegen zusätzliche Konfigurationsdateien für PHP-Erweiterungen, welche ServBay automatisch lädt. Für PHP 8.3 sieht der Pfad beispielsweise so aus:/Applications/ServBay/etc/php/8.3/conf.d/
1Falls Sie ServBay in einem anderen Verzeichnis installiert haben, passen Sie den Pfad entsprechend an.
Öffnen Sie dort die Datei
swoole.ini
.Standardmäßig ist die Zeile zum Aktivieren von Swoole häufig auskommentiert (eingeleitet mit
;
). Sie finden folgenden Abschnitt:ini[Swoole] ; Uncomment the following line to enable Swoole ;extension = swoole.so
1
2
3Entfernen Sie das führende
;
und kommentieren Sieextension = swoole.so
ein:ini[Swoole] ; Uncomment the following line to enable Swoole extension = swoole.so
1
2
3Speichern Sie die Datei
swoole.ini
.Starten Sie die betroffene PHP-Version über die ServBay-GUI oder die Serviceverwaltung neu.
Nach dem Neustart lädt PHP die Swoole-Erweiterung wie konfiguriert.
Überprüfen, ob das Swoole-Modul aktiv ist
Die gängigste Überprüfung erfolgt mit der PHP-Funktion phpinfo()
:
- Erstellen Sie im Wurzelverzeichnis Ihrer durch ServBay gehosteten Website (z. B.
/Applications/ServBay/www/servbay.demo/public/
) eine Datei mit dem Namenphpinfo.php
. - Bearbeiten Sie die Datei
phpinfo.php
und fügen Sie Folgendes ein:php<?php phpinfo(); ?>
1
2
3 - Stellen Sie sicher, dass Ihre Webseite
servbay.demo
auf das richtige Verzeichnis zeigt, das diese Datei enthält. - Rufen Sie im Browser die URL der Datei auf, z. B.
https://servbay.demo/phpinfo.php
. - Suchen Sie auf der geöffneten
phpinfo
-Seite nach dem Begriff "swoole" (z. B. mit Strg+F oder Cmd+F).
Sehen Sie in der Übersicht Swoole-bezogene Einträge, inkl. Versionsnummer und Konfiguration, ist das Modul erfolgreich aktiviert.
Abbildung: Swoole-Infos in der phpinfo-Übersicht finden
Beispielanwendung mit Swoole
Nach der Aktivierung können Sie direkt mit der Entwicklung von Swoole-Anwendungen starten. Nachstehend finden Sie ein einfaches Beispiel, wie mit Swoole ein grundlegender HTTP-Server entsteht.
Beispielcode: Einen einfachen Swoole-HTTP-Server erstellen
Projektverzeichnis anlegen Legen Sie in Ihrem Entwicklungsverzeichnis (z. B.
/Applications/ServBay/www/
) einen neuen Projektordner wiemy-swoole-app
an. Darin ein Unterverzeichnispublic
für die Einstiegsdatei:bashcd /Applications/ServBay/www/ mkdir my-swoole-app cd my-swoole-app mkdir public
1
2
3
4Server-Einstiegspunkt
public/index.php
erstellenphp<?php require __DIR__ . '/../vendor/autoload.php'; // Nur nötig, wenn Sie weitere Abhängigkeiten mit Composer installiert haben use Swoole\Http\Server; use Swoole\Http\Request; use Swoole\Http\Response; // Erstellt eine HTTP-Serverinstanz, die auf allen lokalen IPs (0.0.0.0) am Port 9501 lauscht $server = new Server("0.0.0.0", 9501); // Serveroptionen setzen (optional) // $server->set([ // 'worker_num' => 4, // Anzahl der Worker-Prozesse // 'daemonize' => false, // Ob als Systemdienst (Daemon) laufen soll // ]); // Anfrage-Ereignis überwachen $server->on("request", function (Request $request, Response $response) { // Response-Header setzen $response->header("Content-Type", "text/plain"); // Antwort-Text setzen $response->end("Hello ServBay with Swoole!"); }); // Server-Start-Ereignis überwachen (optional) $server->on("start", function (Server $server) { echo "Swoole http server is started at http://0.0.0.0:9501\n"; }); // Server starten $server->start(); echo "Swoole server stopped.\n"; // Wird erst beim Server-Stopp ausgeführt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35Hinweis: Die Zeile
require __DIR__ . '/../vendor/autoload.php';
ist nur dann erforderlich, wenn Sie z. B. per Composer zusätzliche Swoole-Bibliotheken (wieswoole/ide-helper
oder ein Framework) eingebunden haben. Bei reinem, nativem Swoole-Code können Sie diese Zeile entfernen.Server im Terminal starten Öffnen Sie das ServBay Terminal oder Ihr reguläres System-Terminal, wechseln Sie ins Projektverzeichnis (
/Applications/ServBay/www/my-swoole-app/
) und stellen Sie sicher, dass Sie die richtige, von ServBay verwaltete PHP-Version verwenden (which php
hilft bei der Überprüfung oder Sie starten das ServBay-Terminal).Starten Sie den Swoole-Server mit:
shphp public/index.php
1Bei erfolgreichem Start sehen Sie im Terminal die Meldung "Swoole http server is started at http://0.0.0.0:9501".
Abbildung: Swoole-Server im Terminal gestartet
Testzugriff Nach dem Serverstart rufen Sie im Browser
http://localhost:9501
auf. Es sollte die Seite mit dem Text "Hello ServBay with Swoole!" erscheinen.Sie stoppen den Swoole-Server im Terminal mit
Ctrl + C
.
Hinweise
- Betriebsmodus: Im Beispiel oben läuft der Server direkt als eigenständiger Prozess im Terminal – geeignet für residente Dienste. Klassische Webanwendungen (z. B. mit Laravel, Symfony oder WordPress) nutzen meist PHP-FPM hinter einem Reverse-Proxy wie Caddy/Nginx. Möchten Sie Frameworks in Swoole betreiben (wie Hyperf, Swoole-Laravel etc.), verwenden Sie deren spezielle Startskripte – der Ablauf entspricht in etwa dem Swoole-Purebeispiel.
- Portbelegung: Swoole überwacht einen bestimmten Port (im Beispiel Port 9501). Stellen Sie sicher, dass der Port frei ist und nicht von anderen Diensten verwendet wird.
- Fehlerprotokollierung: Fehler und Ausgaben von Swoole erscheinen entweder direkt im Terminal-Fenster oder – abhängig von der Konfiguration – in definierten Logdateien.
Häufige Fragen (FAQ)
F: Swoole wurde in der ServBay-GUI aktiviert, aber ich sehe keine Swoole-Infos auf der phpinfo()
-Seite. Was tun?
A: Prüfen Sie bitte Folgendes:
- Sicherstellen, dass Sie wirklich die
phpinfo()
-Seite der korrekten PHP-Version betrachten. ServBay kann mehrere PHP-Versionen parallel betreiben. Kontrolle, ob Website/CLI mit der Swoole-aktivierten Version läuft. - Vergewissern Sie sich, dass Sie in ServBay auf „Speichern“ geklickt und den PHP-Service erfolgreich neugestartet haben.
- Haben Sie
swoole.ini
manuell bearbeitet? Überprüfen Sie Dateipfad, Dateinamen und ob die Zeileextension = swoole.so
vorhanden und nicht auskommentiert ist.
F: Beim Versuch, das Swoole-Beispiel zu starten, erscheint die Fehlermeldung Class 'Swoole\Http\Server' not found
. Was ist los?
A: Das bedeutet, dass Swoole nicht korrekt in Ihre aktuelle PHP-Umgebung geladen wurde. Gehen Sie die Aktivierungsschritte noch einmal durch und stellen Sie sicher, dass Sie im Terminal mit der passenden, von ServBay verwalteten PHP-Version (inklusive Swoole) arbeiten. Schneller Check per php -m | grep swoole
zeigt, ob das Modul geladen ist.
Fazit
In ServBay ist die Aktivierung der Swoole PHP-Erweiterung unkompliziert möglich. Egal, ob Sie die grafische Oberfläche oder die manuelle Methode bevorzugen – innerhalb kürzester Zeit ist Swoole für Ihre gewünschte PHP-Version aktiv und bereit, Ihre Projekte auf die nächste Performance-Stufe zu heben. Durch die Leistungsstärke von Swoole entwickeln Sie hochperformante, asynchrone und gleichzeitig ausgeführt Webservices mit PHP. Mit ServBay haben Sie das passende Tool, um sich auf Ihre Entwicklung zu konzentrieren, statt auf zeitaufwändige Umgebungs- und Konfigurationsarbeiten.