Arduino Webserver

Installation von php5 mit JSON & Sessions auf dem Arduino Yún

Ich muss es eingestehen: ich bin kein großer Freund von Python. Es ist zwar auf dem Yún vorinstalliert und läuft auch, aber für meine Anwendungen war es irgendwie nicht das richtige. Da fühle ich mich bei php schon mehr zuhause. Glücklicher weiße kommt Linino schon direkt mit opkg und ermöglicht so eine schnelle Installation von php.

Nach etwas Recherche habe ich die Befehle schnell gefunden. Hier also festgehalten für mich und die Nachwelt, alles um php5 auf dem Yún zum Laufen zu bringen. Und das sogar ohne jeden Neustart. ;)

Installation von php5

Wichtig: vorher opkg aktualisieren!

opkg update
opkg install php5-cgi

Einstellungen vornehmen

Nun wird der Webserver vorbereitet.

uci set uhttpd.main.interpreter=".php=/usr/bin/php-cgi"
uci set uhttpd.main.index_page="index.html index.php"
uci commit uhttpd

php Einstellungen vornehmen
sed -i 's,doc_root.*,doc_root = "",g' /etc/php.ini
sed -i 's,;short_open_tag = Off,short_open_tag = On,g' /etc/php.ini

zum Schluss einmal den Webserver neu laden
/etc/init.d/uhttpd restart

JSON & Sessions installieren

opkg install php5-mod-json
opkg install php5-mod-sessions

Und fertig sind wir! Legt eure php-Dateien, sofern diese über den Browser aufgerufen werden sollen, unter /mnt/sd/arduino/www ab und ruft diese auf. Wenn alles geklappt hat sollten diese nun ausgeführt werden. Natürlich können php-Dateien auch über die shell / cli aufgerufen werden.

Bitte immer im Hinterkopf behalten, dass es sich bei der Installation um eine Basis-Installation handelt. Viele Erweiterungen, wie z.B. JSON werden anfangs fehlen und müssen nach und nach installiert werden.

Viel Erfolg!

Nachtrag - Fatal error: date(): Timezone database is corrupt - this should *never* happen!

Bei der Verwendung von Zeit-Funktionen wie date() unter php kam es bei mir zu Fehlern. Die Meldung Fatal error: date(): Timezone database is corrupt - this should *never* happen! musste ich auch erstmal suchen. Es liegt an den fehlenden Zeitzonen auf dem Arduino. Aber das kann man ganz einfach beheben:

opkg update
opkg install zoneinfo-core
opkg install zoneinfo-europe

Der Kennzeichner europe kann auch gegen andere Gebiete ausgetauscht werden, wie z.B. northamerica.

Share:

Einen Kommentar verfassen

Ihre E-Mail-Adresse wird nicht veröffentlicht, sie dient nur der Identifikation! Für die Profilbilder wird Gravatar verwendet und reCAPTCHA, um Spam zu vermeiden.

Kommentare 0

Es sind noch keine Kommentare für diesen Beitrag vorhanden.