i am going on with the development on the Arduino Yun platform....i decided to use php on the linux side and some bridge to communicate with the arduino. I need to start a php script on a specific event on the arduino and decided to use the Process class.
char binPath = "/usr/bin/php-cli";
char scriptPath = "/mnt/sda1/www/user/code/parsecan.php";
Piece of code of course is in between some if, while, ecc.
If i use instead of php-cli a simple "mkdir /root/test1" everything is perfect but as soon as i use php-cli, process is not executed on the linino.
The same happens if i try to start php-cli via crontab....
The strange is that if i execute php-cli directly from shell, everything run perfectly.
It seems to be a "linux problem" but i do not have clear idea on how to troubleshoot even if i am quite good on linux....
maybe have you already faced with this problem ?
The solution was easy:
i added to the crontab entry the output redirection with
> /root/tmp.log 2>&1
and i have noticed that the problem was a relative path inside the php. php-cli will not execute the file in the same directory where it is stored.
So the new cron command should be:
cd /my/dir/path && php-cli myscript.php
For the Process class, i have tried to add the output redirection parameter but i was not able to get it working so i created a bash script with the cd command and the php-cli one. From Arduino i start the bash script....now it is working!