Yún – How to use PHP

by luca
21 comments

If you have already read about some of my projects (dashboard, web charts…), you’ve certainly noticed that I’d like to use the PHP language for developing dynamic web pages. You can use the PHP also with Arduino Yun, here’s how to do that…

This guide is for the first version of Arduino Yun. If you own a Yun Rev.2 or a Yun Shield, you can read this post on my blog to install php.

First you must install the software packages. I chose to install PHP version 5, including the CLI module, that allows to call PHP scripts from the command line (you’ll understand how this can be useful when you’ll learn how to launch commands using the Bridge library!):

Now edit the webserver’s config file (/etc/config/uhttpd), uncommenting (= removing the # character at the end of the line) the php list interpreter:

Restart the webserver:

To make sure everything is working, prepare a webpage with the phpinfo() command.

Move on the SD card (cd /www/sd) and create the page:

Now with your browser check that the page is correctly rendered:

Related Posts

21 comments

Mauro Alfieri Tuesday February 18th, 2014 - 02:11 PM

Articoli sempre estremamente interessanti !

Grazie

Reply
Tutorial arduno yun php timezone - Alfieri Mauro Elettronica Domotica Wednesday April 2nd, 2014 - 08:02 AM

[…] sull’arduino yùn e per farlo ho seguito l’utile guida dell’amico Luca ( leggi guida ) … fatto […]

Reply
luca Monday September 29th, 2014 - 04:55 AM

Ciao Luca, complimenti per i tutorial!
Essendo alla prime armi con Arduino Yun ho qualche difficoltà nell’ installazione del php. Il file zip che scarico dal sito ufficiale ph lo devo decompattare nella SD nella cartella creata Arduino o nella root? Fatto questo, entro con putty e lancio la riga di comando… opkg… descritta sopra?

Grazie mille per la disponibilità
Luca Serafini

Reply
luca Monday September 29th, 2014 - 07:43 AM

Ciao Luca,

è molto più semplice: non devi scaricare nulla dal sito php, basta che lo Yun sia connesso ad Internet… con il comando opkg […] scarica tutto quello che serve e te lo installa in automatico.

Reply
luca Tuesday September 30th, 2014 - 09:46 PM

Ciao Luca, Grazie per la risposta… pian piano ci sto arrivando… dopo aver creato la pagina phpinfo al momento della verifica sul browser mi da questo errore…
Parse error: syntax error, unexpected ‘>’ in /mnt/sda1/arduino/www/phpinfo.php on line 1

dove sbaglio?

Grazie per l’aiuto
Luca

Reply
luca Tuesday September 30th, 2014 - 09:50 PM

Come non detto… ho riprovato a creare la pagina phpinfo e ora funziona
Grazie e ancora complimenti per l’ottimo sito

Luca

Reply
Luca Wednesday October 29th, 2014 - 09:37 PM

Ciao Luca, ho eseguito la procedura sopra descritta,ora per entrare in phpmyadmin della sd di Arduino come faccio? Vorrei creare una tabella e inviare i dati di alcuni sensori sul server locale sd
Grazie per l’aiuto

Reply
luca Sunday November 2nd, 2014 - 01:04 PM

Ciao Luca

devi installare MySQL e phpMyAdmin, sono entrambi pacchetti installabili via interfaccia web

Reply
Gianluca Tuesday February 24th, 2015 - 12:27 PM

Ciao Luca,
Quando cerco di decommentare il file httpd non trovo la riga ho usato nano /etc/config/uhttpd

Reply
Gianluca Tuesday February 24th, 2015 - 04:43 PM

Aggiungo che con /etc/config/uhttpd mi da permission denied

Reply
luca Tuesday February 24th, 2015 - 09:10 PM

Ciao Gianluca, strano: i comandi precedenti (opkg…) sono andati bene? Ti sei collegato come “root” allo Yun?

Reply
Alfred Friday June 5th, 2015 - 05:04 PM

Ciao Luca,
quando metto questa riga di codice:

opkg install php5 php5-cgi php5-cli

mi dice:

Unknown package ‘php5’.
Unknown package ‘php5-cgi’.
Unknown package ‘php5-cli’.
Collected errors:
* opkg_install_cmd: Cannot install package php5.
* opkg_install_cmd: Cannot install package php5-cgi.
* opkg_install_cmd: Cannot install package php5-cli.

Eppure dovrebbe essere connesso a internet.

Reply
luca Monday June 8th, 2015 - 06:57 PM

Ciao, prova a dare opkg update prima di fare gli install, è possibile che tu abbia i repository vecchi…

Reply
Sandro Friday November 27th, 2015 - 02:54 AM

Ciao Luca, ho un problema sulla visualizzazione della pagina. Se la inserisco sulla root /www tutto ok.
Ma se creo la pagina sul percorso /mnt/sda1/arduino/www non viene visualizzata con l’url ipArduinoYun/sd/…..php . Premetto che il pacchetto php è stato inserito correttamente. Tramite WinSCP vedo che il percorso esiste ed anche il file php. Come posso fare? Grazie

Reply
Sandro Friday November 27th, 2015 - 11:15 AM

Come non detto Luca, sono riuscito a visualizzare la pagina. Scusami.

Reply
Manuel Monday September 5th, 2016 - 02:19 PM

Ciao Luca,
complimenti per i tuoi tutorial.
ho seguito tutti i passi da te indicati,
Una volta creata la pagina phpinfo.php, apro il browser, inserisco l’indirizzo di arduino, ma non apre nessuna pagina.

come posso procedere?

Reply
Davide C Monday October 1st, 2018 - 02:40 PM

ho un arduino yun rev2, posso installare php5? cercando tra i pacchetti trovo solo php7!

Reply
Davide C Sunday October 7th, 2018 - 04:49 PM

scusa il disturbo, hai dimestichezza con il php7 su arduino Yun rev2? non riesco a modificare il file uhttpd per togliere il #. il file che apro è completamente diverso dal tuo.

Reply
luca Monday October 8th, 2018 - 07:19 AM

ciao Davide, purtroppo no… non possiedo uno Yun rev2 quindi non so cosa abbiano modificato in php o uHttpd. Ho trovato alcuni tutorial relativi a OpenWrt (la distribuzione che usa lo Yun), prova a vedere se funzionano

Reply
marco Sunday May 17th, 2020 - 10:48 PM

Ciao Luca complimenti per la tua realizzazione! uno sketch veramente utile e complesso !

ho una scheda arduino Yun.. aggiornato OpenWrt alla versione del 2017… quindi ho installato tutti i pacchetti che ho trovato nella tua guida apposita per aggiornare la scheda … quindi ho php7 ecc ecc

Ho un problema con l’interfaccia web … non funzionano gli slider e forse dipende da php che non riesce ad inviare i comandi… al db ?
se provo a modificare uno slider .. ottengo ” Warning Unable to call irrighino” dove sbaglio ?

Reply
luca Monday June 1st, 2020 - 10:51 AM

ciao Marco e grazie x i complimenti. L’errore normalmente indica che la chiamata API fallisce: lo sketch è in esecuzione? Hai per caso cambiato la password di default delle API?

Reply

Leave a Reply to Alfred Cancel Reply

thirteen − twelve =