Cgi en perl
chipsocrevettes
Messages postés
72
Date d'inscription
Statut
Membre
Dernière intervention
-
sebsauvage Messages postés 32893 Date d'inscription Statut Modérateur Dernière intervention -
sebsauvage Messages postés 32893 Date d'inscription Statut Modérateur Dernière intervention -
salut,
j'essaie de lancer un script perl depuis un serveur IIS. Ca s'appelle du CGI normalement.
J'ai donc un répertoire "cgi-bin" dans lequel se trouve le script perl suivant:
-----------------------------------------------test.pl
#! c:/perl/bin/perl.exe
print "Content-type: text/html\n\n";
print <<EOF;
<HEAD><TITLE>test</TITLE></HEAD>
<BODY BGCOLOR=\"#FFFFFF\">
<BR><BR><BR><BR>
<CENTER>
<H1>super test de la mort</H1>
</CENTER>
</BODY>
</HTML>
EOF
-------------------------------------------
Au début du script, je spécifie le chemin d'accès à l'exécutable PERL. OK
Quand je lance le script : http://mabécane/cgi-bin/test.pl, j'ai l'erreur suivante:
CGI Timeout
The specified CGI application exceeded the allowed time for processing. The server has deleted the process
Est-ce que j'ai oublié qqchose?
Version de perl : 5.005_03 build 522
Version de IIS : 5.0
Version Windows : 2000 advanced server
thanx pour les réponses
++
j'essaie de lancer un script perl depuis un serveur IIS. Ca s'appelle du CGI normalement.
J'ai donc un répertoire "cgi-bin" dans lequel se trouve le script perl suivant:
-----------------------------------------------test.pl
#! c:/perl/bin/perl.exe
print "Content-type: text/html\n\n";
print <<EOF;
<HEAD><TITLE>test</TITLE></HEAD>
<BODY BGCOLOR=\"#FFFFFF\">
<BR><BR><BR><BR>
<CENTER>
<H1>super test de la mort</H1>
</CENTER>
</BODY>
</HTML>
EOF
-------------------------------------------
Au début du script, je spécifie le chemin d'accès à l'exécutable PERL. OK
Quand je lance le script : http://mabécane/cgi-bin/test.pl, j'ai l'erreur suivante:
CGI Timeout
The specified CGI application exceeded the allowed time for processing. The server has deleted the process
Est-ce que j'ai oublié qqchose?
Version de perl : 5.005_03 build 522
Version de IIS : 5.0
Version Windows : 2000 advanced server
thanx pour les réponses
++
A voir également:
- Cgi en perl
- Denon perl pro test - Accueil - Audio
- Active perl - Télécharger - Édition & Programmation
- Cgi-bin - Guide
- Scipt CGI probleme :( - Forum Programmation
- Les CGI j'en peux plus je ne comprend rien... - Forum Programmation
5 réponses
Essai de remplacer \n\n par \r\n\r\n
Explication: sous Windows, le retour à la ligne est 0D 0A (CRLF), alors que sous Unix c'est juste 0A (LF).
IIS, ne voyant pas arriver \r\n\r\n, pense que le script n'a pas encore terminé d'envoyer des entêtes HTTP, et il attend.
Au bout du timeout prévu, il tue le processus perl et renvoie une erreur.
Tu risque aussi d'avoir des problème quand ton CGI devra envoyer des fichiers binaires.
( voir http://www.commentcamarche.net/forum/affich.php3?cat=3&ID=335517&page=1 )
Explication: sous Windows, le retour à la ligne est 0D 0A (CRLF), alors que sous Unix c'est juste 0A (LF).
IIS, ne voyant pas arriver \r\n\r\n, pense que le script n'a pas encore terminé d'envoyer des entêtes HTTP, et il attend.
Au bout du timeout prévu, il tue le processus perl et renvoie une erreur.
Tu risque aussi d'avoir des problème quand ton CGI devra envoyer des fichiers binaires.
( voir http://www.commentcamarche.net/forum/affich.php3?cat=3&ID=335517&page=1 )
pas mal la vitesse de réaction ;))
J'ai fait ce que tu préconises, et maintenant qqchose s'affiche...
Le problème, c'est que le perl ne s'exécute pas : ce sont les sources du script qui s'affichent. Evidemment les balises HTML n'apparaissent pas quant à elle, car elles sont interprétées pas le navigateur.
Comment faire donc pour lancer l'exécutable perl lorsque je clique sur le script perl? Paramètres à fournir au serveur?
thanx.
++
J'ai fait ce que tu préconises, et maintenant qqchose s'affiche...
Le problème, c'est que le perl ne s'exécute pas : ce sont les sources du script qui s'affichent. Evidemment les balises HTML n'apparaissent pas quant à elle, car elles sont interprétées pas le navigateur.
Comment faire donc pour lancer l'exécutable perl lorsque je clique sur le script perl? Paramètres à fournir au serveur?
thanx.
++
Je ne connais pas bien le paramétrage d'IIS, mais je te conseille d'aller faire un tour dans la doc.
Il est également possible que l'utilisation de la distribution perl d'ActiveState donne de meilleurs résultats (meilleure intégration Windows, et donc probablement IIS).
ça s'appelle ActivePerl.
http://activestate.com/Products/ActivePerl/
En Googlant un peu, j'ai trouvé ça sur la configuration d'IIS:
http://minilien.com/?FvoYwRCGxg
http://neural.cs.nthu.edu.tw/jang/sandbox/cgi/setupcgi.htm
Il est également possible que l'utilisation de la distribution perl d'ActiveState donne de meilleurs résultats (meilleure intégration Windows, et donc probablement IIS).
ça s'appelle ActivePerl.
http://activestate.com/Products/ActivePerl/
En Googlant un peu, j'ai trouvé ça sur la configuration d'IIS:
http://minilien.com/?FvoYwRCGxg
http://neural.cs.nthu.edu.tw/jang/sandbox/cgi/setupcgi.htm
magnifique, ça marche...presque bien!!
Merci seb pour le 2ème lien, c'est ce qu'il me fallait.
En résumé, voilà comment on configure IIS:
- on ouvre la MMC IIS
- on va dans les propriétés du site
- onglet "Home Directory"
- bouton "Configuration"
- onglet "App Mappings"
- bouton "Add"
- dans la case "Executable", on met le chemin d'accès vers l'exe Perl:
%fullpath/perl.exe %s %s
Le permier argument %s, c'est le script que je lance, évidemment!! C'est ça que j'avais oublié!! Quel c..!!
Le deuxième argument %s, c'est un paramètre qu'on donne au script (pas obligatoire)
- dans la case "Extension", on met .pl
Ca roule comme ça!!
thanx seb
++
Merci seb pour le 2ème lien, c'est ce qu'il me fallait.
En résumé, voilà comment on configure IIS:
- on ouvre la MMC IIS
- on va dans les propriétés du site
- onglet "Home Directory"
- bouton "Configuration"
- onglet "App Mappings"
- bouton "Add"
- dans la case "Executable", on met le chemin d'accès vers l'exe Perl:
%fullpath/perl.exe %s %s
Le permier argument %s, c'est le script que je lance, évidemment!! C'est ça que j'avais oublié!! Quel c..!!
Le deuxième argument %s, c'est un paramètre qu'on donne au script (pas obligatoire)
- dans la case "Extension", on met .pl
Ca roule comme ça!!
thanx seb
++
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question