Bonjour,
je rencontre un problème peu banal et vous me soulageriez vraiment si vous parveniez à l'expliquer
J'ai un petit script CGI Perl (5.8.8) qui lance la creation d'un graphe par l'intermédiaire de la fonction Perl system() et de l'outil rrdtool :
Problème : la génération du graphe et l'affichage fonctionne parfaitement lors que le script est lancé en tant que CGI, ie. par l'intermédiaire de mon browser favori pointant sur l'url qui va bien (serveur apache). Par contre lors que je lance le script directement en ligne de commande sur le serveur, rrdtool ne fonctionne pas et me renvoie une erreur : ERROR: Could not make sense out of '--start'. J'ai la même erreur lorsque je lance directement rrdtool avec les mêmes options (sans passer par perl et system), je pense qu'il s'agit d'un bug de la version de rrdtool. Mais là n'est pas le problème, je n'arrive pas à expliquer pourquoi ça fonctionne lorsque le script est lancé par apache et pas quand il est lancé par root directement en ligne de commande !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32 #!/usr/bin/perl use strict; use warnings; print "Content-type: text/html\n\n"; print "<html><body>\n"; my $imgfile = '/users/gss00/htdocs/brocade/rrd/images/tmp/trafic.gif'; unlink $imgfile if ( -e $imgfile ); my $status = system( "/usr/bin/rrdtool", "graph", "$imgfile", "--start", "now-24h", "--imginfo", "", "DEF:input=/tmp/trafic.rrd:input:AVERAGE", "DEF:output=/tmp/trafic.rrd:output:AVERAGE", "AREA:input#54EC48:Input\\t", "LINE1:output#7648EC:Output\\t", ); chmod 0755, $imgfile if -e $imgfile; if ($status) { print "Probleme lors de la generation du graph\n"; } else { print "<img src=\"/brocade/rrd/images/tmp/trafic.gif\">\n"; } print "</body></html>\n";
Etrange non ?
Je soupçonne un probleme avec system qui n'aurait pas le meme comportement selon la manière dont il est lancé. Qu'en pensez-vous ?
Merci de votre aide
Salutations
--
david
Partager