Ciao a tutti.
Ho un problema con la classe Process, sto cercando di eseguire uno script in php-cli che dovrebbe scrivere/leggere( fopen() ) semplici file di testo da SD, lo script viene eseguito ma le modifiche ai file non vengono apportate .
Premetto che lo script è funzionante perchè se eseguito direttamente da "Linino" tutto funziona correttamente.
C'è un modo per risolvere il problema?
Grazie.
Process p;
 p.begin("/mnt/sda1/script.php");
 p.run();
Ti invitiamo a presentarti (dicci quali conoscenze hai di elettronica e di programmazione) qui: Presentazioni
e a leggere il regolamento se non lo hai già fatto: Regolamento
Qui una serie di link utili, non inerenti al tuo problema:
Ciao Paolo,
Effettivamente non so come ho fatto a non pensarci prima, però adesso è sorto un altro problema:
Accedendo a Linino tramite ssh ho provato a cambiare i permessi ma anche se il comando viene eseguito i permessi rimangono invariati...
Se il file è su una SD formattata FAT, i permessi non sono supportati a livello di singolo file. Devi usare dei parametri quando fai il mount, tipo -o umask=000 per dare i permessi a tutti, o magari -o uid=1000,gid=1000,umask=022 per dare i permessi solo a un determinato utente/gruppo.
Il comando process esegue il file php quindi richiamerà un processo in grado di interpretare il php. Forse quel processo richiamato non ha diritti come root.
sicuro che Process possa eseguire script ? verifica il valore ritornato da run()
Qui vedo un esempio che chiama un processo come "curl" e poi gli passa il php come parametro: programming - How to make Arduino communicate with MySQL? - Arduino Stack Exchange
In altri casi che ho visto in internet chiamano pagine python ma anche in quel caso la begin() esegue "python" come processo e poi gli passano come parametro il file .py