kubek3898 Temat założony przez niniejszego użytkownika |
[CGI][C++] Kompilacja do .cgi » 2013-08-19 10:13:32 Zainteresowałem się ostatnio skryptami .cgi i chciałem napisać taki swój skrypt w tej technologii. Problem w tym, że o ile w Perlu wszystko normalnie działa, to już w C++ nie. Wiem, że Perl nie jest językiem kompilowanym, a C++ tak i pewnie właśnie stąd błąd 500 przy próbie uruchomienia skryptu CGI pisanego w C++. Doczytałem, że trzeba najpierw plik .c lub .cpp skompilować do postaci .cgi. W systemach Unixowych robi się to poleceniem gcc -o helloworld.cgi helloworld.cpp , jednak chyba? na Windowsie to już nie zadziała? Muszę pewnie coś ściągnąć, tylko pytanie co? Czy wystarczy sam Code Blocks do skompilowania do postaci pliku .cgi? |
|
jankowalski25 |
» 2013-08-19 10:47:00 |
|
DejaVu |
» 2013-08-19 11:23:05 Skrypt CGI to nic innego jak plik *.exe ze zmienionym ręcznie rozszerzeniem, który robi printf-y na standardowe wyjście. Jeżeli chcesz odpalić skrypt CGI np. na jakimś serwerze www, który je obsługuje, to musisz skompilować swoją aplikację przy pomocy kompilatora, który generuje kod binarny zgodny z systemem operacyjnym na którym CGI zostanie uruchomione. Innymi słowy: jeżeli na Twoim hostingu docelowym jest system FreeBSD, to powinieneś zainstalować sobie na wirtualnej maszynie system FreeBSD i skompilować kod źródłowy na wirtualnej maszynie, po czym wygenerowany plik binarny przekopiować na serwer docelowy oraz nadać odpowiednie chmod-y. |
|
kubek3898 Temat założony przez niniejszego użytkownika |
» 2013-08-19 12:03:54 Czyli, gdy skorzystam przykładowo z tego kompilatora online -> http://www.onlinecompiler.net, zaznaczę system Linux i pobiorę skompilowany kod z rozszerzeniem .out, a następnie zmienię na .cgi to będzie działało? Jeśli tak, to muszę coś źle robić bo wyrzuca nadal błąd 500 (system to Linux, nadane CHMOD'y 755). |
|
DejaVu |
» 2013-08-19 12:27:28 Powinieneś jeszcze zlinkować statycznie standardowe biblioteki i upewnić się, że NA PEWNO jest to Linux. |
|
kubek3898 Temat założony przez niniejszego użytkownika |
» 2013-08-19 13:37:52 Wyciąg z phpinfo(): Linux nazwaserwera 3.2.0-0.bpo.4-amd64 #1 SMP Debian 3.2.46-1~bpo60+1 x86_64 Więc sam już nie wiem... |
|
m4tx |
» 2013-08-19 13:59:39 Linux to nie system. Chmodów się nie nadaje, chmod to polecenie zmiany uprawnień plików na Uniksach. Co do problemów - zrób to co napisał DejaVu. Możesz też spróbować skompilować plik wykonywalny pod architekturę 64-bitową, pod Linuksami ma to z reguły nieco większe znaczenie niż na Windowsach. |
|
kubek3898 Temat założony przez niniejszego użytkownika |
» 2013-08-19 19:21:17 Okej skompilowałem na Debianie do postaci .cgi i wszystko działa :) Dziękuje DejaVu.
/close |
|
« 1 » |