Cgi en perl

Fermé
chipsocrevettes Messages postés 72 Date d'inscription lundi 16 juin 2003 Statut Membre Dernière intervention 24 septembre 2003 - 16 juil. 2003 à 11:50
sebsauvage Messages postés 32893 Date d'inscription mercredi 29 août 2001 Statut Modérateur Dernière intervention 21 octobre 2019 - 17 juil. 2003 à 09:25
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

++
A voir également:

5 réponses

sebsauvage Messages postés 32893 Date d'inscription mercredi 29 août 2001 Statut Modérateur Dernière intervention 21 octobre 2019 15 655
16 juil. 2003 à 11:54
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 )
0
chipsocrevettes Messages postés 72 Date d'inscription lundi 16 juin 2003 Statut Membre Dernière intervention 24 septembre 2003 4
16 juil. 2003 à 12:08
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.

++
0
sebsauvage Messages postés 32893 Date d'inscription mercredi 29 août 2001 Statut Modérateur Dernière intervention 21 octobre 2019 15 655
16 juil. 2003 à 13:50
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
0
chipsocrevettes Messages postés 72 Date d'inscription lundi 16 juin 2003 Statut Membre Dernière intervention 24 septembre 2003 4
16 juil. 2003 à 15:45
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

++
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
chipsocrevettes Messages postés 72 Date d'inscription lundi 16 juin 2003 Statut Membre Dernière intervention 24 septembre 2003 4
16 juil. 2003 à 15:57
seb,

print "Content-type: text/html\n\n";

fonctionne très bien sur mon windows....
0
sebsauvage Messages postés 32893 Date d'inscription mercredi 29 août 2001 Statut Modérateur Dernière intervention 21 octobre 2019 15 655
17 juil. 2003 à 09:25
Ah ? Tiens curieux.
Il doit peut-être effectuer une conversion implicite des retour-chariots.

Tant mieux.
0