2010-06-01 6 views
0

dans le fichier html:SSI ne produisant pas de sortie, pas d'erreur donnant soit

<!--#exec cgi="/cgi-bin/test.pl"--> 

le script perl:

#!/usr/bin/perl 
print "Content-Type: text/html\n\n"; 
print "<input type=\"hidden\" name=\"aname\" value=\"avalue\">\n"; 
print "<img src=\"/cgi-bin/script.pl\" />"; 

Cela ne me donne pas une erreur 'directive erreur de traitement', ni ne il sort mon HTML en place de la balise. J'ajouterai aussi que le tag ssi est remplacé par rien.

+0

Pouvez-vous exécuter d'autres CGIs de la même manière (avec un côté serveur Include)? Etes-vous sûr que vos config httpd sont corrects? – Ether

+0

Oui, j'ai Options + Inclut ajouté (pas au courant de quoi que ce soit d'autre qui doit être défini), c'est bizarre, il remplace simplement la balise exec avec rien. – user318747

Répondre

0

Etes-vous sûr que le script s'exécute? Si vous imprimez quelque chose dans STDERR, cela apparaît-il dans le journal des erreurs?

Au-delà, j'ai quelques commentaires:

  1. Je suis assez sûr d'imprimer le type de contenu est redondant, vous (bien, Apache de toute façon) l'ont déjà fait en servant le fichier HTML qui contient le SSI. reference

  2. exec est vraiment destiné pour les commandes en cours d'exécution comme 'ls -l'. Vous devriez plutôt utiliser include virtual. Cela vous permet également d'ajouter des arguments à l'URL. par exemple.

    <!--#include virtual="/cgi-bin/example.cgi?argument=value" --\> 
    
  3. vous une faveur et d'utiliser qq[] au lieu des guillemets doubles. Vous ne devrez pas échapper à tout alors ... par ex.

    print qq[< input type="hidden" name="aname" value="avalue"\b]; 
    
+0

Si quelqu'un peut m'expliquer pourquoi les blocs de mon code ne fonctionnent pas, ce serait cool aussi ... –

+0

Besoin de 4 espaces de plus quand vous êtes dans une liste ordonnée. – geocar

+0

Si vous n'imprimez plus les en-têtes, vous obtenez des erreurs de script prématurées. (Au moins sur mon serveur), le problème était en fait que les instructions 'require' et 'use' dans le SSI l'avaient fait échouer. (Je réalise que je n'ai pas montré ceux dans le code perl, je devrais probablement avoir) – user318747

Questions connexes