Starten Sie schnell einen Webserver mit PHP
Ich war gestern nicht zu Hause… und mir fiel ein, dass ich eine wichtige Datei auf meinem NAS habe, Zuhause. Über das von mir aktivierte VPN kann ich auf mein NAS zugreifen, aber das Dokument wurde in einem Pfad gefunden, an den ich mich damals nicht erinnern konnte, Stattdessen erinnerte ich mich unter anderem daran, dass der Dateiname ein generischer progressiver Name war, daher nicht sehr nützlich, wenn Sie in der Befehlszeile danach suchen müssen. Was zu tun?
PHP ist eine Programmiersprache mit mehreren Funktionen. Obwohl ich nicht weiß, wie man in PHP programmiert, Mir fiel eine Funktion ein, die mir in diesem Fall sehr nützlich war. Dies ist ein Terminalbefehl, der es Ihnen ermöglicht, einen Webserver mit aktiviertem PHP-Interpreter zu starten. Wir müssen Apache nicht installieren, Nginx oder was auch immer… PHP wird ausreichen.
Glaubst du es nicht?
Nun, Beginnen wir in der Zwischenzeit mit der Installation der neuesten PHP-Version (Nehmen wir als Beispiel eine Debian-Distribution oder eine abgeleitete Distribution (aber PHP kann auf jeder Distribution installiert werden):
$ sudo apt install php8
Am Ende der Installation wird unser PHP installiert sein. Lassen Sie uns die Version mit dem folgenden Befehl überprüfen:
$ php --version
PHP 8.0.30 (cli) (built: Aug 23 2023 12:00:00) ( NTS )
Copyright (c) The PHP Group
Zend Engine v4.0.30, Copyright (c) Zend Technologies
Nun: PHP ist installiert und einsatzbereit. Bitte beachten Sie, dass wir keinen Webserver installiert haben (Apache, Nginx oder was auch immer), aber nur der PHP-Interpreter.
Jetzt starten wir den Entwicklungsserver mit einem einzigen Befehl:
# php -S 0.0.0.0:4000
Dieser Befehl (als Administrator ausführen) öffnet sich für alle eingehenden Verbindungen am Port 4000 in dem Verzeichnis, in dem wir uns befinden. Wir gehen zum Browser und geben die Server-IP ein. Mal sehen, ob es funktioniert:
Ein Fehler 404 nicht gefunden. Lassen Sie uns das Terminal überprüfen:
[Sat Jan 27 17:27:42 2024] PHP 8.0.30 Development Server (http://0.0.0.0:4000) started
[Sat Jan 27 17:27:44 2024] xxx.xxx.xxx.xxx:49893 Accepted
[Sat Jan 27 17:27:44 2024] xxx.xxx.xxx.xxx:49893 [404]: GET / - No such file or directory
[Sat Jan 27 17:27:44 2024] xxx.xxx.xxx.xxx:49893 Closing
Vom Terminal aus sehen wir das klassische Debuggen dessen, was im Browser passiert. Ich habe eine Anfrage für das Stammverzeichnis gestellt “/
“. Es endete nicht gut (weil ich keine Datei habe index.php
im Quella-Verzeichnis), Aber es ist mir egal, weil der Server gestartet ist und der Fehler aufgetreten ist 404 es bedeutet, dass es so funktioniert, wie es sollte.
Ich möchte stattdessen den Inhalt des Verzeichnisses wie in einem Repository und rekursiv alle Unterverzeichnisse auflisten. Beim Durchsuchen von Online-Ressourcen finde ich ein kleines Projekt, das auf GitHub gehostet wird: Winziger Dateimanager. Dabei handelt es sich genau um eine einzelne PHP-Datei, die den Inhalt des Verzeichnisses, in dem sie sich befindet, und rekursiv alle untergeordneten Verzeichnisse auflistet. Beachten Sie, dass es zwei verschiedene Authentifizierungen unterstützt (mit und ohne Administratorrechte) und unterstützt das Hoch- und Herunterladen von Dateien. Das Projekt ist gut dokumentiert, Die Installation ist einfach und das Ergebnis ist garantiert. Es hat einige kleine Süchte:
$ sudo apt install php8-fileinfo php8-iconv php8-zip php8-tar php8-mbstring
Abschließende Gedanken
Ich habe es noch nirgendwo geschrieben, Ich hoffe jedoch, dass klar ist, dass dieses Verfahren zum schnellen Starten eines Webservers nur in einem LAN verwendet werden sollte und niemals dem Internetverkehr ausgesetzt sein sollte, viel weniger in jedem Unternehmen für die Produktion verwendet. Nehmen wir an, Sie können relativ ruhig schlafen, wenn Sie es über ein VPN nutzen.
Ich denke, das Gleiche könnte man tun, aber ohne PHP-Interpreter mit Python… ich muss überprüfen.
0 Kommentare