2010-01-04 4 views
0

Je suis nouveau sur CGI-Perl et les sessions. J'ai un problème lors de l'exécution du code suivant.Comment créer et gérer des sessions dans des séries de scripts CGI Perl?

J'ai quatre fichiers 1. Session.html ou Session.pm 2. name.pl 3. hobbies.pl 4. job.pl

Le Session.pm est dans/var/Le dossier www/html et le reste des fichiers sont placés dans le dossier/var/www/cgi-bin/session.

Je dispose d'un fichier html de base (Session.html) qui a un lien vers perl script, il donne l'erreur suivante

[Mon Jan 04 14:21:24 2010] [error] [client ::1] Options ExecCGI is off in this directory: /var/www/html/name.pl, referer: http://localhost/Session.html 
[Mon Jan 04 14:21:29 2010] [error] [client ::1] Options ExecCGI is off in this directory: /var/www/html/name.pl, referer: http://localhost/Session.html 
[Mon Jan 04 14:22:42 2010] [error] [client ::1] (13)Permission denied: exec of '/var/www/cgi-bin/session/name.pl' failed, referer: http://localhost/Session.pm 
[Mon Jan 04 14:22:42 2010] [error] [client ::1] Premature end of script headers: name.pl, referer: http://localhost/Session.pm 

S'il vous plaît, aidez-moi à exécuter l'exemple ci-dessus. Merci de me donner les étapes à suivre depuis le début.

+1

Au lieu de montrer l'erreur 500 du serveur à partir de votre navigateur, vous pouvez vérifier le fichier journal d'erreur (situé, bien, où vos journaux d'erreurs magasins Apache) et affichent l'entrée du journal d'erreur pour votre demande. Il indique généralement où le problème s'est produit. – kender

Répondre

4

... Options ExecCGI est hors dans ce répertoire: /var/www/html/name.pl, ...

Ce point d'erreur pour essayer de lancer name.pl dans/var/www/html/au lieu de/var/www/cgi-bin/session/

Est-ce que le fichier Session.html que vous avez affiché est correct car il ne semble pas correspondre à cette erreur?

... (13) Permission denied: exec '/var/www/cgi-bin/session/name.pl' a échoué, ...

Le name.pl ne peut pas être exécuté, car il n'a pas de droits d'exécution définis (sous Linux/Unix, vous devez utiliser chmod a+x name.pl).


Vous devrez peut-être afficher ce que fait Session.pm (il ne vous ressemble pas en utilisant le module CPAN Session ici).

Sur une note générale, j'envisager de simplifier ce que vous faites à un simple HTML & script CGI premier et obtenir ce travail. Ensuite, commencez à regarder dans les sessions, etc.

Consultez le Ovid's CGI Tutorial pour des conseils avisés sur le sujet Perl/CGI.

/I3az/

Questions connexes