Ich bastel mir eine Portable...

Antworten
Benutzeravatar
shadowcat
Administrator
Beiträge: 5283
Registriert: Di 5. Feb 2013, 10:36
Kontaktdaten:

Ich bastel mir eine Portable...

Beitrag von shadowcat »

Da ich immer öfter Probleme mit USBWebserver habe (und das Ding auch weder weiterentwickelt noch supportet wird), dachte ich mir, ich bastel mir mal was "Kleine(re)s". :lol:

Was brauche ich *mindestens*?

PHP
mySQL oder mariaDB

Was brauche ich *nicht*?

Apache Webserver

PHP bringt seit Version 5.4 einen eingebauten Webserver mit. Den wollte ich jetzt mal nutzen, denn allein der Apache benötigt im USBWebserver 55 MB.

PHP strippen

Tatsächlich braucht man das meiste aus der PHP-Installation gar nicht. Übrig geblieben sind bei mir:

Code: Alles auswählen

PHP
|   libeay32.dll
|   libssh2.dll
|   nghttp2.dll
|   php.exe
|   php.ini
|   php7ts.dll
|   ssleay32.dll
|   
+---ext
|       php_curl.dll
|       php_fileinfo.dll
|       php_mbstring.dll
|       php_pdo_mysql.dll
Na das ist doch wirklich sparsam. :mrgreen: Es verbleiben rund 15 MB Größe.

mariaDB strippen

Hier gilt eigentlich das gleiche wie bei PHP.

Code: Alles auswählen

MARIADB
|   help.txt
|   
+---bin
|       mysqld.exe
|       
+---data
| --- hier liegen die Datenbanken... ---
|
+---share
|   |   errmsg.sys
|   |   
|   +---english
|   |       errmsg.sys
|   |       
|   \---german
|           errmsg.sys
| 
Es verbleiben knapp 12 MB plus Datenbanken, bei mir insgesamt etwas mehr als 200 MB.

PHP Built-in Webserver starten

Hierzu sollte man sich in der Kommandozeile in dem Verzeichnis befinden, in dem sich die HTML-Dateien befinden, also im htdocs-Verzeichnis.

# php.exe -S localhost:80

Schon hat man einen Webserver laufen. :) Fehlerausgaben bekommt man im Kommandozeilenfenster. Wenn die php.exe nicht im Suchpfad ist, was vermutlich so ist, muss man hier den kompletten Pfad angeben.

Für den Betrieb von BC2 braucht man noch eine router.php, die man beim Aufruf mit angibt, weil BC2 mit mod_rewrite arbeitet. Die habe ich mir natürlich auch zusammengebastelt. :)

mariaDB starten

# mysqld.exe --no-defaults --console

Startet den Datenbank-Dienst im Konsolenmodus, das heißt, man hat ein Kommandozeilenfenster offen.

Jetzt kann man sich mit dem Werkzeug seiner Wahl (ich benutze HeidiSQL) mit der Datenbank verbinden und eine neue Datenbank z.B. für BC2 anlegen. :)
My software never has bugs, it just develops random features.
If it’s not broken, keep fixing it until it is
Benutzeravatar
shadowcat
Administrator
Beiträge: 5283
Registriert: Di 5. Feb 2013, 10:36
Kontaktdaten:

Re: Ich bastel mir eine Portable...

Beitrag von shadowcat »

Ich habe mir für den Start eine startup.cmd gebastelt. Die Verzeichnisstruktur sieht so aus:

<Basisverzeichnis>
| startup.cmd
+---php
+---mariadb
+---htdocs

Code: Alles auswählen

@echo off
SET basepath=%~dp0
cd %basepath%\htdocs
start cmd /c ..\php\php.exe -S localhost:444 -c ..\php\php.ini router.php
cd ..
start cmd /c .\mariadb\bin\mysqld.exe --no-defaults --console
Ich verwende als Port 444, weil ich manchmal meine XAMPP Umgebung parallel laufen habe und die dann schon Port 80 belegt. Man kann auch Port 8080 nehmen, das ist recht üblich.
My software never has bugs, it just develops random features.
If it’s not broken, keep fixing it until it is
Benutzeravatar
shadowcat
Administrator
Beiträge: 5283
Registriert: Di 5. Feb 2013, 10:36
Kontaktdaten:

Re: Ich bastel mir eine Portable...

Beitrag von shadowcat »

Wenn man kein Datenbanktool hat und auch keins installieren will, geht das natürlich auch Portable. Statt des Boliden phpMyAdmin kann man Adminer verwenden, das ist EINE .php-Datei von knapp 340 kB Größe. Dazu im htdocs-Verzeichnis ein Unterverzeichnis anlegen, Adminer dort ablegen, Umgebung wie oben beschrieben starten und im Browser

http: // localhost/adminer/adminer.php

aufrufen. (Leerzeichen damit das Forum den Link nicht hyperlinkt.)

https://www.adminer.org/
My software never has bugs, it just develops random features.
If it’s not broken, keep fixing it until it is
Benutzeravatar
shadowcat
Administrator
Beiträge: 5283
Registriert: Di 5. Feb 2013, 10:36
Kontaktdaten:

Re: Ich bastel mir eine Portable...

Beitrag von shadowcat »

So, ich habe jetzt meine Portable komplett von USBWebserver auf dieses hier umgestellt. Inzwischen habe ich mir mit AutoIt auch einen Starter gebastelt, der sich mit passendem Icon in den Tray setzt. Die beiden CMDs (eine startet den PHP Built-In Webserver, die andere die Datenbank) werden somit auch versteckt, damit sie den Nicht-Fachmann nicht irritieren. Per Rechtsklick kann man die Portable dann auch wieder beenden oder sich ein Infofenster anzeigen lassen. Davon noch kein Screenshot weil noch nicht ganz fertig. :)

Edit: Achso, ich vergaß: Es werden auch die Frontseite und die Login-Seite im Browser geöffnet.
Dateianhänge
2018-03-15 15_31_49.png
2018-03-15 15_31_49.png (7.75 KiB) 2918 mal betrachtet
My software never has bugs, it just develops random features.
If it’s not broken, keep fixing it until it is
Benutzeravatar
creativecat
Beiträge: 1430
Registriert: Mi 6. Feb 2013, 12:41
Kontaktdaten:

Re: Ich bastel mir eine Portable...

Beitrag von creativecat »

Sehr geil! Damit kann man unter Windows schnell mal das CMS testen oder ganz bestimmte lokale Anwendungsfälle noch einfacher umsetzen. :daumen: :daumen:
Benutzeravatar
shadowcat
Administrator
Beiträge: 5283
Registriert: Di 5. Feb 2013, 10:36
Kontaktdaten:

Re: Ich bastel mir eine Portable...

Beitrag von shadowcat »

Naja, eine Einschränkung gibt es: Kein SSL.
My software never has bugs, it just develops random features.
If it’s not broken, keep fixing it until it is
Antworten