Apache統合スレ 10 (HTTPServer以外も含む)
はじめまして。以下のサイトを見て、
http://www7.plala.or.jp/keny01/apache/apache2.html CGIでC言語を始めようと思うのですが、Hello Worldでつまずいています。これだけの情報で分かりますか?
error.logです。
Premature end of script headers: hello_world.cgi
hello.cgiです。
E:\>gcc -o hello_world.cgi hello_world.c
E:\Apache Software Foundation\Apache2.2\cgi-bin>hello_world.cgi
Content-type: text/html
<html><body>
hello,world
</body></html>
http.confです。
<Directory />
Options FollowSymLinks ExecCGI
AllowOverride None
Order deny,allow
Deny from all
</Directory>
<Directory "E:/Apache Software Foundation/Apache2.2/htdocs">
Options Indexes FollowSymLinks ExecCGI
AllowOverride None
Order allow,deny
Allow from all
</Directory>
<IfModule alias_module>
ScriptAlias /cgi-bin/ "E:/Apache Software Foundation/Apache2.2/cgi-bin/"
</IfModule>
<Directory "E:/Apache Software Foundation/Apache2.2/cgi-bin">
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory>
<IfModule mime_module>
AddHandler cgi-script .cgi
</IfModule>
/etc/sudoers
を任意に設定するとか
スティッキービット立てたPHP実行用プログラム用意するとか
いろいろ方法あると思うよ
apacheを疑う前にIEやOpera、chromeとか他のブラウザで見た場合はどうなのよ
利用不可って?ログは404になってんの?403なの?
分からないならいいです。
お邪魔しました。
776 :
772:2010/05/16(日) 08:28:05 ID:???
>>773 IE6 IE8 firefox chrome でも同じ症状でした
ログはdebugにしてているのですが/var/log/httpd/error_log にエラーが出ていないのです
自作PC、NEC製PCでも同様です(ともにXP)
自分のLAN環境がおかしいのでしょうか?
今から外のページの確認をして見ます 規制中で次の書き込みは夜になりますが
成否を問わず結果は報告いたします ペコリ
Premature end of script headers はヘッダー全部出す前に
ヘッダーのフォーマットでない出力があった時に出るから
普通にヘッダー出す前にエラー吐けばそうなる。
たいていはパーミッションか1行目のインタプリタ指定のミスだろう
778 :
770:2010/05/16(日) 19:30:33 ID:???
最悪perlからexeが呼び出せればいいのですが、有難うございます。
スクリプトではなくEXEですので、ヘッダー行は付けられませんでした。
OSがWindows 2000ですからパーミッションもそのままです。
779 :
772:2010/05/16(日) 19:54:37 ID:???
サーバ上から外部のWEBに関してはも問題なく表示されました。
apacheを再インストールし何も設定変更をせず起動させた状態で
クライアントから
http://192.168.1.11/へアクセスしたところ apacheのデフォルトページが表示されその中のapacheのバナーは正常に表示されました。
/var/www/html/配下に各種イメージと表示用htmlを配置してクライアントからアクセスすると
やはり表示が壊れてしまいます。
/var/www/icons/に各種イメージを配置して表示させて見ましたが相変わらず壊れていました。
どのログにもエラーが吐かれていないので今回はあきらめます
スキルが足りないので本買ってきたりキチンと準備して再チャレンジしてみます
スレ汚し 失礼しました ペコリ
780 :
770:2010/05/16(日) 20:09:22 ID:???
GCC 以外ならOKでした。
実験していただけるよう、ソースはります。echo %errorlevel% = 0
#include<stdio.h> /* printf */
int main()
{
printf("content-type: text/html\n");
// printf("Content-type: text/html; charset=Shift_JIS\n");
printf("\n");
printf("<html><body>\n");
printf("hello,world\n");
printf("</body></html>\n");
// return 1;
return 0;
}
781 :
770:2010/05/16(日) 22:01:51 ID:???
gcc -mno-cygwin option.
動的リンクのライブラリに届かなかったんだろ
Apache 2.2.4
gcc -v
Target: mingw32
Configured with: ../gcc-4.1.2/configure --host=mingw32 --target=mingw32 --prefix
=/mingw --with-gnu-as --with-gnu-ld --enable-threads --disable-nls --enable-lang
uages=c,c++ --enable-threads=win32 --disable-win32-registry --disable-win32-regi
stry --disable-shared
Thread model: win32
gcc version 4.1.2
普通に動いたが。
使ってないから記憶が定かじゃないが、確かgcc 4.4(cygwin)以降から
-mno-cygwinでも何かのDLLが必要になったはずなので、その場合は
>>782なのかもしれないし
あと向こうのスレでも言われてるが、改行コードがLFになってそうだな。
784 :
770:2010/05/17(月) 22:26:03 ID:???
My using gcc VERSION is
F:\>gcc -v
Reading specs from /usr/lib/gcc/i686-pc-cygwin/3.4.4/specs
...
Thread model: posix
gcc version 3.4.4 (cygming special, gdc 0.12, using dmd 0.125)
F:\>gcc --version
gcc (GCC) 3.4.4 (cygming special, gdc 0.12, using dmd 0.125)
785 :
770:2010/05/17(月) 23:02:08 ID:???
>>782 GCCスレの方も、有難うございます。
F:\>PATH=. して確認できました。
---------------------------
hello_world.cgi - DLL が見つかりません
---------------------------
ダイナミック リンク ライブラリ cygwin1.dll が指定されたパス
E:\Apache Software Foundation\Apache2.2\cgi-bin;.;
C:\WINNT\system32;C:\WINNT\system;C:\WINNT;. に見つかりませんでした。
パス通せばいけそう