OVH Community, votre nouvel espace communautaire.

CGI-BIN avec gcc et g++ sur hébergement mutualisé Perso


Rizz
20/06/2016, 15h15
Je sais pas quoi dire
Tu dois être tout seul à faire ce genre de truc même si je sais qu'il y a des petits bricoleurs ici .... Tente le ticket directe ... mais bon ... faudra etre sur que l'utilisation de phpshell rentre dans le cadre de ton contrat d'utilisation de ton perso. ( sans doute que oui mais si tu fait un ticket assure t'en. )

buddy
20/06/2016, 11h46
Tu as vérifié avec l'éditeur de texte que ton fichier était bien complet et sans symbole bizarres ? on sait jamais un mauvais transfert FTP ..

Christo4Up
20/06/2016, 11h37
Svp Up !

Christo4Up
12/06/2016, 23h59
Bonjour tout le monde,
Bien que, j'ai déjà fait un post sur le même sujet mais pour un hébergement Pro, maintenant c'est sur un herbagement Perso où je ne parviens pas à exécuter un compilé. Conformément à l'offre Perso, il est normalement possible de programmer en langage C, voir :https://www.ovh.com/[...]/hebergement-perso.xml -> Langages et bases de données.

Il faut savoir que sur les hébergement Perso, il n'est pas possibles de se connecter en ssh, j'ai donc dû utiliser une application PHP pour interagir avec le système, voir : phpshell. Afin de répondre aux mêmes commandes j'ai réalisé l'exemple en hebergement Pro avec phpshell aussi.

Donc pour résumer, voilà ce qui ce passe sur un hébergement pro et perso pour le même compilé (vous avez ma parole ), d'ailleurs pour les intéressé voici les sources : github.com/ChristopherSonntag/code-cgi-bin

---- ssh root@ubuntu-16-virtualdesktop ----
Code:
root@debian-virtual-desktop:~# make
gcc  -o helloworld-c.cgi helloworld-c.c
g++ -static-libstdc++ -o helloworld-cpp.cgi helloworld-cpp.cpp
g++ -static-libstdc++ -o info-0x.cgi info-0x.cpp -std=c++0x
g++ -static-libstdc++ -o gcc-5-test.cgi gcc-5-test.cpp -std=c++14 -pthread
g++ -static-libstdc++ -o info.cgi info.cpp -std=c++14
---- PHP-Shell Hébergement pro ----
Code:
$ ls
gcc-5-test.cgi	  helloworld-cpp.cgi  info-0x.cgi	 info_form.html
helloworld-c.cgi  info.cgi	      info-0x_form.html

$ objdump -a /usr/local/php5.6/bin/php
/usr/local/php5.6/bin/php:     file format elf32-i386
/usr/local/php5.6/bin/php

$ objdump -a helloworld-c.cgi
helloworld-c.cgi:     file format elf32-i386
helloworld-c.cgi

$ objdump -a helloworld-cpp.cgi
helloworld-cpp.cgi:     file format elf32-i386
helloworld-cpp.cgi

$ chmod +x *.cgi

$ ./helloworld-c.cgi
Content-type:text/html



Hello World - First CGI Program in C


Hello World! This is my first CGI program in C

$ ./helloworld-cpp.cgi Content-type:text/html Hello World - First CGI Program in CPP

Hello World! This is my first CGI program in CPP

-> Donc ici tout fonctionne

---- PHP-Shell Hébergement perso ----
Code:
$ ls
gcc-5-test.cgi	  helloworld-cpp.cgi  info-0x.cgi	 info_form.html
helloworld-c.cgi  info.cgi	      info-0x_form.html 

$ objdump -a /usr/local/php5.6/bin/php
/usr/local/php5.6/bin/php:     file format elf32-i386
/usr/local/php5.6/bin/php

$ objdump -a helloworld-c.cgi
objdump: helloworld-c.cgi: File truncated

$ objdump -a helloworld-cpp.cgi
objdump: helloworld-cpp.cgi: File truncated

$ chmod +x *.cgi

$ ./helloworld-c.cgi

$ ./helloworld-cpp.cgi
sh: ./helloworld-cpp.cgi: No such file or directory
-> Et ici, j'ai différens problème :
-- objdump m'indique File truncated
-- les .cgi ne s'exécute pas ...