Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]7186[/thread]

Rueckgabewert (Seite 2)



<< |< 1 2 3 >| >> 23 Einträge, 3 Seiten
renee
 2005-08-05 14:56
#56973 #56973
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Die Konsole macht es richtig! system() gibt bei Erfolg immer die 0 Zurück! und da if(0) (was es ja in Deinem Beispiel ist) false ist, muss es auch in den else-Zweig...
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
stift
 2005-08-05 14:58
#56974 #56974
User since
2005-08-05
10 Artikel
BenutzerIn
[default_avatar]
Aber im Web (ueber Apache) funktioniert die if ohne Probleme, nur in der console geht er immer in die else-Funktion.

Wie kann ich das Problem beheben?
renee
 2005-08-05 15:04
#56975 #56975
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Sicher, dass es im Web wirklich 100%ig so funktioniert wie Du Dir das vorgestellt hast?? Wenn system() nicht 0 zurückgibt und deshalb in den if-Zweig geht, dann wird wohl irgendwas schief gelaufen sein...
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
renee
 2005-08-05 15:06
#56976 #56976
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Erstell einfach mal Testweise folgendes Skript für's Web:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
#! /usr/bin/perl

use strict;
use warnings;
use CGI qw(:standard);
use CGI::Carp qw(fatalsToBrowser);

print header('text/plain');

my $var = qx{mysqldump --opt DATABASE 2>&1};
print $var;


ungetestet!\n\n

<!--EDIT|renee|1123240027-->
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
stift
 2005-08-05 15:37
#56977 #56977
User since
2005-08-05
10 Artikel
BenutzerIn
[default_avatar]
Ich benutzt fuers WEb und console das gleiche Script, der Befehl funktioniert auch (es wird die Backup-Datei erzeugt).
renee
 2005-08-05 15:49
#56978 #56978
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Die Datei wird auf jeden Fall angelegt, da das unabhängig von einem Erfolg von mysqldump ist. Hast Du Dir mal die Größe der Backup-Datei angeschaut??

Hast Du mal mein Skript von oben ausgeführt??
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
esskar
 2005-08-05 16:45
#56979 #56979
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
ansonsten mal perldoc -f system lesen
J-jayz-Z
 2005-08-06 03:45
#56980 #56980
User since
2005-04-13
625 Artikel
BenutzerIn
[Homepage] [default_avatar]
Könnte es vielleicht an den rechten des Webservers liegen?
Wenn er mysqldump nicht ausführen darf, ist auch klar, wieso es den else Zweig nimmt...
perl -Mstrict -Mwarnings -e 'package blub; sub new { bless {} } sub bar {my $self=shift; $self->{bla}="5065726c2d436f6d6d756e697479"; return $self->{bla};} my $foo=blub->new();print "Hallo ";print pack("H*",$foo->bar()); print "\n"'

http://perl-tutor.de
stift
 2005-08-07 02:59
#56981 #56981
User since
2005-08-05
10 Artikel
BenutzerIn
[default_avatar]
Denke ich auch langsam, aber was. Ich habe das Script auf einen anderen Server ausprobiert, da funktioniert es ohne probleme (Web+Console).
Strat
 2005-08-07 15:13
#56982 #56982
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
suche dir mal den pfad zu mysqldump raus und schau dir mal an, was passiert:
Code: (dl )
1
2
3
my $mysqlDumpBin = "/usr/bin/mysqldump"; # oder was auch immer
-f $mysqlDumpBin or print "Error: file '$mysqlDumpBin' doesn't exists\n";
-x $mysqlDumpBin or print "Error: file '$mysqlDumpBin' is not executable by effective uid/gid\n";
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/
<< |< 1 2 3 >| >> 23 Einträge, 3 Seiten



View all threads created 2005-08-05 12:44.