j'ai le même probleme, et ce malgré l'aide trouvée ici (j'avais aussi oublié /usr/local/bin/php )
le script fonctionne nikel en ligne de commande, et même en appel http, mais impossible de le faire fonctionner en cron, il se lance, mais rien ne se passe
et en plus webmin me sort aussi de jolies stats, tranquille
je le fais lancer avec le même user, que ce soit en ligne de commande en http ou en cron
quelqu'un a eu ce probleme et l'a réglé d'une autre manière que celles listées ci-dessus?
mon cron :
50 23 * * * monuser /usr/local/bin/php /home/monuser/www/fichier.php > /dev/null
--------------------------
quand je lance le cron depuis webmin, il me génère ça:
Content-type: text/html
X-Powered-By: PHP/4.3.4
# exec_cron.cgi
# Execute an existing cron job, and display the output
require './cron-lib.pl';
&ReadParse();
@jobs = &list_cron_jobs();
$job = $jobs[$in{'idx'}];
&can_edit_user(\%access, $job->{'user'}) || &error($text{'exec_ecannot'});
&foreign_require("proc", "proc-lib.pl");
# split command into command and input
$job->{'command'} =~ s/\\%/\0/g;
@lines = split(/%/ , $job->{'command'});
foreach (@lines) { s/\0/%/g; }
for($i=1; $i<@lines; $i++) {
$input .= $lines[$i]."\n";
}
$| = 1;
$theme_no_table++;
&header($text{'exec_title'}, "");
print "
\n";
&additional_log('exec', undef, $lines[0]);
&webmin_log("exec", "cron", $job->{'user'}, $job);
# Remove variables that wouldn't be in the 'real' cron
foreach $e ('SERVER_PORT', 'GATEWAY_INTERFACE', 'WEBMIN_VAR', 'SERVER_ROOT',
'REMOTE_USER', 'SERVER_ADMIN', 'REQUEST_METHOD', 'REMOTE_HOST',
'REMOTE_ADDR', 'SERVER_SOFTWARE', 'PATH_TRANSLATED', 'QUERY_STRING',
'MINISERV_CONFIG', 'SERVER_NAME', 'SERVER_PROTOCOL', 'REQUEST_URI',
'DOCUMENT_ROOT', 'WEBMIN_CONFIG', 'SESSION_ID', 'PATH_INFO',
'BASE_REMOTE_USER') {
delete($ENV{$e});
}
foreach $e (keys %ENV) {
delete($ENV{$e}) if ($e =~ /^HTTP_/);
}
# Set cron environment variables
foreach $e (&read_envs($job->{'user'})) {
$ENV{$1} = $2 if ($e =~ /^(\S+)\s+(.*)$/);
}
# Get command and switch uid/gid
@uinfo = getpwnam($job->{'user'});
$ENV{"HOME"} = $uinfo[7];
$ENV{"SHELL"} = "/bin/sh";
$ENV{"LOGNAME"} = $ENV{"USER"} = $job->{'user'};
$( = $uinfo[3];
$) = "$uinfo[3] $uinfo[3]";
($>, $<) = ($uinfo[2], $uinfo[2]);
# Execute cron command and display output..
print &text('exec_cmd', "
$lines[0]"),"
\n";
print "
";
$got = &foreign_call("proc", "safe_process_exec",
$lines[0], 0, 0, STDOUT, $input, 1);
print "$text{'exec_none'}\n" if (!$got);
print "
\n";
print "
\n";
&footer("edit_cron.cgi?idx=$in{'idx'}", $text{'edit_return'},
"", $text{'index_return'});
ça a rien à voir avec mon code, donc je suppose que j'ai foiré quelque part, c'est comme s'il m'affichait le fichier qui doit "croner" mon script PHP