J'ai besoin de développer une petite CGI en bash sous RedHat avec un serveur Apache. Le but de ma CGI est de pouvoir générer un graphique à partir de données classées dans un txt.
Voilà où j'en suis :
J'ai deux pages pour mon interface CGI. La première est la suivante :
Cette seconde page doit lancer gnuplot et suivre les instructions de mon gnuplot_test.txt que voici :
f(w) = (strlen(w) > 10 ? word(w, 1) . "\n" . word(w, 2) : w)
set title "CLUSTER 1"
set terminal png truecolor size 960, 720
set output 'cluster2.png'
set bmargin at screen 0.1
set key top center
set grid
set style data histograms
set style fill solid 1.00 border -1
set boxwidth 0.7 relative
set yrange [0:]
set format y "%g%%"
set datafile separator ","
plot 'CLUSTER_1.txt' using 2:xtic(f(stringcolumn(1))) title " CPU consumption (%) ", \
'' using 3 title " RAM consumption (%)", \
'' using 0:($2+1):(sprintf("%g%%",$2)) with labels notitle, \
'' using 0:($3+1):(sprintf(" %g%%",$3)) with labels notitle
Le problème, c'est que... Rien ne se passe ! En théorie, je devrais voir apparaître ce graphique :
Si, dans mon dossier /cgi-bin, j'execute la commande suivante :
gnuplot gnuplot_test.txt
L'execution se fait correctement et mon png apparait.
Voilà ce que je trouve lorsque que je regarde dans mon error_log :
Autant les lignes " Cannot open load file... " je les comprends, mais même si je remplace le chemin complet par juste le nom de mon txt, ça ne change strictement rien. En revanche, je ne comprends les autres lignes.
Le but ici serait qu'au final, le png s'affiche dans mon navigateur, mais pour le moment j'aimerais déjà qu'il soit généré...Pourriez-vous m'indiquer pourquoi ça ne fonctionne pas ?
Merci d'avance !
- Edité par Tyza 3 mai 2019 à 14:58:21
TicTacToe ( ou Morpion ) en bash avec un tableau multi-dimension : ici ! :)
Tu lances avec quel utilisateur ? Les permissions denied sur ""/var/www/cgi-bin/gnuplot_test.txt" doivent venir du fait que tu n'es pas root, il faut que tu changes les droits de "/var/www/cgi-bin/" pour que ton utilisateur ait la possibilité de lire et d'écrire ici.
Tu lances avec quel utilisateur ? Les permissions denied sur ""/var/www/cgi-bin/gnuplot_test.txt" doivent venir du fait que tu n'es pas root, il faut que tu changes les droits de "/var/www/cgi-bin/" pour que ton utilisateur ait la possibilité de lire et d'écrire ici.
Comme vous pouvez le voir, mon image ne s'affiche pas, il n'y a qu'un petit carré blanc en haut à gauche. Le problème vient du fait que ma variable n'est pas prise en compte dans le tag <img> :
J'essayer en mettant des accolades, des quotes, des doubles quotes, rien ne fonctionnent...
Pourriez-vous m'indiquer comment faire en sorte que le nom de ma variable soit bien pris en compte ?
Merci d'avance !
EDIT : Bon bah en fait j'ai trouvé :
J'ai mis mon <img src="......> après mon test... Forcément, j'appellait l'image avant même qu'elle ne soit générée
J'ai remplacé le src="/var/www/html/mon_image.png" par src="/mon_image.png"
Voilà !
- Edité par Tyza 3 mai 2019 à 14:57:54
TicTacToe ( ou Morpion ) en bash avec un tableau multi-dimension : ici ! :)
[RESOLU] CGI Bash/Gnuplot/Apache
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
TicTacToe ( ou Morpion ) en bash avec un tableau multi-dimension : ici ! :)
TicTacToe ( ou Morpion ) en bash avec un tableau multi-dimension : ici ! :)
Validez la réponse utile « Un problème clairement exposé est à moitié résolu. » Pas de MP technique
TicTacToe ( ou Morpion ) en bash avec un tableau multi-dimension : ici ! :)