I have a PHP script that runs perfectly fine on the command line if I simply run it like this php /path/to/script/script.php.
if I now schedule this very command in cron using crontab -e and the add the line:
*/1 * * * * php /path/to/script/script.php 2>&1 >> /var/log/logfile.log
it does get executed every minute as expected and all the output gets put into the log file just like running it on the command line. But the some parts of the script just don't seemt o work. those particular parts are lines that are like:
system('mkdir /mnt/temp', $retVal);
or
exec('mkdir /mnt/temp');
I have tried every possible thing like running it as root, permissions on all scripts and folders that would be affected, using /bin/mkdir instead of mkdir. The return value from the system() is 0 for running it on CLI and 1 for the crontab way.
Any suggestions?
PATHvariable might be different. And b) this might be a permission problem: sure the script is executed under the same user account? Using the same permissions and umasks?crontab -e -u rootshows the job that i added so I would expect it to run as root