是不是写出来的C语言程序不用编译?还是要编译?还是怎么的?只有放在cgi-bin目录下面的.html打开正常,
其他的不管什么文件什么的打开全部是以字符串的形式(不管编译没编译)翻译过来的,这是源码也是使用文本形式打开
这是编译以后的二进制文件
我要的是CGI程序执行,不是把二进制文件用文本的形式打开!!另外Addhandler sctipt 我改成了.cgi编译出来的程序也改成了该后缀.Options 也改了+ExecCgi,如图所示
这是网页代码
这是CGI源码
请问这是什么问题?
该加的都加了
加上octet-stream .cgi成这样
保存文件?我要的是执行,不是保存,另外我用的是LInux,Ubuntu 10.10
我自己搞了一天终于搞出来了,希望遇到同样问题的同志看这里,apache2.4.6所有编译安装完了以后如果运行CGI出现二进制乱码的话就是少了一个库文件,很重要的库文件,叫做mod_cgi.so,这玩意在解压出来的安装包/httpd-2.4.6/modules/generators目录下用/usr/local/apache2/bin/apxs -i -a -c mod_cgi.c编译出.so文件,最后在httpd.conf配置文件中加上一句话LoadModule cgi_module modules/mod_cgi.so这玩意加在很多以LoadModule开头的东东当中就行了,希望遇到同样问题的同学赶紧看到这个,同样感谢额exile1026同学的帮助,虽然没帮到,这200分送你算了。
是要编译为机械码( binary code ) 的
HTML 能在 cgi-bin 里正常出现其实并不正常.. 一定程度上代表这个 dir 还没设成一个执行 cgi 的环境 ( 但我不肯定 )
你是否已在 MIME 里面加入了 AddType application/octet-stream .exe ( 或 .cgi 甚麼的 )
或者 AddHandle? 如 AddHandler cgi-script .exe ( 或 .cgi 甚麼的 )
主要来说我颇肯定这里是 conf 里的问题, 但如果你真的调试时, 最好先写个最简单的 exe 来测试, 甚至装再更轻量点的 server, 如 ngnix 来试试..
看补充
追答apache 的 conf 档, 和 .htaccess 档都是很玄的东西, 除了该设的设定对了, 还需其他设定不能错了... 就凭几个截图实在无法帮你找到错在那里... 因为还要有相对的系统配置, chmod xxx, Alias, 是 Directory 还是 Location... 等等等等, 如果你本身是 apache 的新手, 那建议你先将 conf 回复到最原始状, 然後去 sourceforge 下一个叫 Apache GUI 软件, 我想这样你会比较顺手..
C语言怎么设置解析语言?