Mit dem Installations-Paket von PHP wird auch ein schlanker Webserver für Test-Zwecke mitgeliefert. Dieser bietet einen
Single-Thread für PHP Requests. Kommen also mehrere Requests, werden diese geblockt, bis der aktuelle Request abgearbeitet
ist. Zusätzlich werden für einige Standard-Dateiformate MIME-Types zurückgeliefert. Man kann also auch eine Webpage
mit bestimmten Dateien darauf hosten. (Detaillierte Informationen dazu gibt es
hier.)
Die folgende Beschreibung zeigt, wie ich diesen Webserver für meine kleine PHP-Applikation starte.
php.zip
von der
PHP-Download-Seite für Windows herunterladen.
C:\php
)
c:\php\php.exe -S localhost:8080
http://localhost:8080
eingeben. Darin sollte dann die
Webapplikation laufen.
Damit meine Webapplikation lokal gleich bereit ist, um verwendet zu werden, habe ich mir die Batch-Datei in den
Autostart gelegt.
Wenn man auf Windows 10 eine Batch nach dem Hochfahren automatisch ausführen will, muss man
wie folgt vorgehen:
C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp
kopiert werden. (Dies ist der Ordner für Autostart-Programme für alle Benutzer des Rechners.)
Zunächst muss dafür PHP installiert werden. In einem Terminal habe ich dafür folgende Schritte durchgeführt:
php
eingegeben, um zu überprüfen, ob PHP schon installiert ist.
Da es bei mir nicht installiert war, wurden mir Installations-Befehle vorgeschlagen.
sudo apt install php-cli
entschieden.
DOMDocument
verwendet, musste ich auch die DOM-Erweiterung mit dem Befehl
sudo apt-get install php-dom
installieren.
Fatal error: Uncaught Error: Class "DOMDocument" not found in MyClass.php
. (Die Lösung für dieses Problem habe
ich hier gefunden.)
Danach konnte der Built-In PHP Webserver wieder wie gewohnt gestartet werden:
php -S localhost:8080
aus.
http://localhost:8080
eingibt, kann man die Webanwendung bedienen.
Damit meine Webapplikation lokal gleich bereit ist, um verwendet zu werden, habe ich mir ein Shell-Script geschrieben. Dieses soll beim Starten von Linux automatisch ausgeführt werden. Dabei bin ich wie folgt vorgegangen:
crontab -e
habe ich die CRON-Einstellungen geöffnet.
@reboot /absolute/path/to/script
dazugegeben. Somit wird das Skript bei jedem Reboot ausgeführt.
Dabei sollte man folgende Dinge berücksichtigen:
php
Befehl ausführen.
Wenn man das Skript manuell im richtigen Verzeichnis ausführt ist das nicht nötig, vom crontab heraus aber schon.
startPhp.sh
im User-Verzeichnis so muss im
crontab der Befehl @reboot /home/<user>/startPhp.sh
eingetragen werden.
Die Lösung zu diesem Thema habe ich hier gefunden.