Posted by J.O. Aho on 04/26/07 04:17
roger.moon2@googlemail.com wrote:
> So I wrote a script to run via crontab but when it tries to check
> whether a file exists like below:
>
> if (!file_exists("settings.ini"))
> return false;
>
> it checks whether the file exists in $HOME not in /home/user/files/
> scripts/ where the original file is been executed from:
>
> 00 20 * * 1 /usr/local/bin/php /home/user/files/scripts/check.php > /
> dev/null 2>&1
>
> Why is that?
>
When using as CLI program, the ./ is the location from where the file is
executed, in your example it's the cron users home directory that would most
likely be ./, so the solution for your problem is to use absolute path.
if (!file_exists("home/user/files/scripts/settings.ini"))
return false;
Things are different if you execute the script via a web server, but absolut
paths will always work.
--
//Aho
[Back to original message]
|