6
votes

Comment utiliser le script C ++ CGI?

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.

html: xxx

c ++: xxx

Le script CGI est stocké à /user/local/apache2/cgi-bin/helloworld.cgi


1 commentaires

Juste pour confirmer, vous exécutez cette CGI sur un serveur Web et non sur le fichier local?


4 Réponses :


7
votes

/user/local/apache2/cgi-bin/helloworld.cgi 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 .


0 commentaires

1
votes

Il vous suffit de configurer Apache pour reconnaître un cgi-bac correctement ...

Enregistrer sur ceci: http://httpd.apache.org/ Docs / 1.3 / HOWTO / CGI.HTML

dans apache config scriptalias est probablement ce que vous voulez.

(Je suppose que vous avez compilé le binaire à helloworld.cgi)


0 commentaires

14
votes

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 xxx

Ensuite, mettez ensuite ce fichier dans votre cgi-bin

Edit: Vous avez besoin de deux Endl d'après le dernier élément d'en-tête xxx


2 commentaires

endl n'est pas nécessairement suffisant, HTTP Mandats CR-LF en tant que EOL, endl 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 . Votre réponse m'a aidé à exécuter un script C ++ simple en tant que script CGI



2
votes

J'ai aussi eu ce problème et cette solution a fonctionné pour moi:
Commencez par exécuter ces commandes sur la borne: xxx

puis copiez helloworld.cgi vers / usr / lib / cgi-bin / xxx

et enfin

et enfin Modifier le lien href à: xxx


0 commentaires