User since
2005-08-05
10
Artikel
BenutzerIn
Hallo,
ich fuehre eine system-funktioniert mit system("") innerhalb eines perl-script aus. Das script starte ich uebers WEB und ueber die Console. Er fuehrt den Befehl aus, aber ueber die Console gibt er mir den gleichen Rueckgabewert zurueck, ob es fail ist. Uebers WEB funktioniert es ohne probleme.
An was kann dies liegen?
MFg
stift
User since
2003-08-04
14371
Artikel
ModeratorIn
Auf Grund Deiner eher spärlichen Beschreibung des Problems (keine Fehlermeldung, kein Code), kann ich nur mutmaßen...
Auf der Konsole siehst Du auch das, was das aufgerufene Programm auf STDERR ausgegeben wird, über das Web nicht!
User since
2005-08-05
10
Artikel
BenutzerIn
Mein CODE:
if(system("mysqldump --opt DATABASE > FILE"))
{
..
}
else
{
..
}
Ueber das Web geht das script immer in die richtige Bediengung, aber, wenn ich das script ueber die Console ausfuehre funktioniert es nicht richtig und geht immer in die else-Bediengung, obwohl der system-Befehl erfolgreich ausgefuehrt wird.
User since
2003-08-04
7321
Artikel
ModeratorIn
versuch es mal so
system("mysqldump --opt DATABASE > FILE");
if($? >> 8) {
..
} else {
..
}
\n\n
<!--EDIT|esskar|1123232857-->
User since
2003-08-04
7321
Artikel
ModeratorIn
lass dir mal diese infos ausgeben
if ($? == -1) {
print "failed to execute: $!\n";
}
elsif ($? & 127) {
printf "child died with signal %d, %s coredump\n",
($? & 127), ($? & 128) ? 'with' : 'without';
}
else {
printf "child exited with value %d\n", $? >> 8;
}
User since
2003-08-04
7321
Artikel
ModeratorIn
[quote=stift,05.08.2005, 11:36]
child exited with value 0
[/quote]
console und web?