Je suis actuellement inscrit à une classe d'applications Web à mon collège et nous apprenons sur les scripts CGI. J'ai du mal à apprendre à mettre en œuvre mon script CGI. Quand je clique sur mon lien une fenêtre apparaît me demandant de télécharger mon fichier helloworld.cgi au lieu de rediriger simplement.
c ++: strong> p> Le script CGI est stocké à /user/local/apache2/cgi-bin/helloworld.cgi code> p> p>
4 Réponses :
/user/local/apache2/cgi-bin/helloworld.cgi code> est le chemin physique du fichier sur votre disque dur. Pour exécuter le script via Apache, vous devez spécifier le chemin d'accès relatif à la racine du document de votre serveur, par exemple.
http: //localhost/cgi-bin/helloworld.cgi code>. p>
Il vous suffit de configurer Apache pour reconnaître un Enregistrer sur ceci: http://httpd.apache.org/ Docs / 1.3 / HOWTO / CGI.HTML P>
dans apache config (Je suppose que vous avez compilé le binaire à helloworld.cgi) p> cgi-bac code> correctement ... p>
scriptalias code> est probablement ce que vous voulez. p>
Vous devez compiler le fichier C ++ et appelez le résultat helloworld.cgi. C ++ n'est pas une langue de script - vous ne pouvez pas simplement le déployer sur votre serveur.
sur un système typique * Nix, nommer le fichier C ++ helloworld.cpp p> Ensuite, mettez ensuite ce fichier dans votre cgi-bin p> Edit: Vous avez besoin de deux Endl d'après le dernier élément d'en-tête p>
endl code> n'est pas nécessairement suffisant, HTTP Mandats CR-LF en tant que EOL,
endl code> est spécifique à la plate-forme.
Je faisais référence à l'Apache2 CGI Doc et non où il est mentionné de le compiler et de le nommer .cgi code>. Votre réponse m'a aidé à exécuter un script C ++ simple en tant que script CGI
J'ai aussi eu ce problème et cette solution a fonctionné pour moi: puis copiez helloworld.cgi vers / usr / lib / cgi-bin / p> et enfin et enfin Modifier le lien href à: p>
Commencez par exécuter ces commandes sur la borne:
Juste pour confirmer, vous exécutez cette CGI sur un serveur Web et non sur le fichier local?