Re: CGIが表示できない。。。 ( No.6 ) |
|
- æ¥æï¼ 2006/06/14 07:29
- ååï¼ 管理者
- それでは、以下のコマンド結果はどうなりますか?
# perl test.cgi
また、test.cgiの文字コードはサーバのロケールと合っていますか?
# kcc -c test.cgi # locale
|
Re: CGIが表示できない。。。 ( No.7 ) |
|
- æ¥æï¼ 2006/06/14 11:32
- ååï¼ moja
- あまり関係無いかもしれませんが、
私のところのCGI回り、 <IfModule mod_cgid.c> Scriptsock run/httpd.cgid </IfModule> を入れてます。 AllowOverride と、それ以外は、デフォルトのままです。
管理者さんの言うところのロケールに関して、 うちの場合、過去資産には手を入れずに動かしたいという意図があって 2.2.0で見えなくなったmod_encoding.so を再投入。結果、 # kcc -c test.cgi test.cgi: shift-JIS 問題無く動いてますよん。
何度もやってるとは思いますが、 パーミッション設定、再確認してみてはいかがでしょう?
|
Re: CGIが表示できない。。。 ( No.8 ) |
|
- æ¥æï¼ 2006/06/14 12:05
- ååï¼ moja
- もうひとつ、Exec-Shield。
デフォルトだと11だったかな<FC5>それを、2に変更。 そんなぐらい<思い当たるフシ
|
Re: CGIが表示できない。。。 ( No.9 ) |
|
- æ¥æï¼ 2006/06/14 19:20
- ååï¼ 板違いな初心者
- 管理者 様 moja 様ありがとうございます。昼間は会社に行っているので手元にサーバーがなくて。。。遅くなってしまいました。私の頭では理解不能なことばかりのレスですが。。。
<Directory /var/www/html> で # perl test.cgi とやるとものすごい長い英文が出てきます(^_^;) 私はサーバー上のテキストをコピーしてここに貼り付けるすべを知らないので全文は掲載出来ませんが、 perl : warning :setting locale faild. perl : warning :please check that your locale settings: Language =(unset), LC_ALL = (unset), LANG = "c" are supported and installed on your system perl: warning : Failling back to the standard locale ("C"). とまだまだ延々と続きます
で(~o~)
私のperl記述がどこか違うのかと思い、管理者様のサイトから直接コピーペーストして作ってみた test.cgi(ここでは便宜的に test.cgi2 ) として再度トライしてみました。
なんとあろうことか?ブラウザー上にCGIが表示できたのです!!!!!! プリントアウトして2者をくまなくチェックして見比べてもまったく同じ記述なのに・・・釈然としません このtest2.cgi で perl test2.cgiとやると やっぱり
perl : warning :setting locale faild. perl : warning :please check that your locale settings: Language =(unset), LC_ALL = (unset), LANG = "c" are supported and installed on your system perl: warning : Failling back to the standard locale ("C"). Content-type: text/html と続いて htmlのソースの記述が続きますがそこで終わりです。
***********
# kcc -c test.cgi ← これについては kcc:command not foud となり # locale については locale:Cannot set LC_CTYPE to default locale :NO such file or directory locale:Cannot set LC_MESSAGES to default locale :NO such file or directory locale:Cannot set LC_ALL to default locale :NO such file or directory LANG=C 以下延々と続きます(^_^;)
たとえば自分がテスト用に作った
#!/usr/local/bin/perl print "Content-type: text/html\n\n"; print "Hello, Linux users!";
この記述で何故同じディレクトリで表示できないのか?
また、先の表示に成功したtest2.cgi をユーザー名のディレクトリで何故表示できないのか? 不思議なことばかりです ユーザ名は http://○○.jp/~ユーザー名/test2.cgi で <Directory /home/*/public_html> Options Includes ExecCGI </Directory> に変更しています。
(もちろん http://○○.jp/~ユーザー名/index.htmlとしては動作確認が取れております)
今夜これから成功した /var/www/htmlに CGIカウンターを設置してみようと思います。 この状態で動くのかどうか、自作サーバー3週間のキャリアでは判断できません。 .htaccessは?このままでいいのか? WinSCPの転送モードは? レンタルーサーバーでは多くのCGIをアップしましたが未知の世界です。
勝手なことばかり書いてしまいましたが、アドバイスをいただければ幸いです。
|
Re: CGIが表示できない。。。 ( No.10 ) |
|
- æ¥æï¼ 2006/06/14 22:08
- ååï¼ 管理者
- 試験的に作成したスクリプトは、Windows側で作成して転送されましたか?
LANG="C"となっているので、usコード(正式名は不明)だと思います。 改行コードがLFではなく、CR+LFなどになっている場合、スクリプトが実行できなくなる場合があります。
試して欲しいのですが以下の手順を行ってみてください。
現在のシステムの状態で、スクリプトのヘッダ部を変更して確認してみて下さい。 ①「test.cgi」をEUCコード(改行をLF)に変換して確認する。 → 変換方法は、「http://kajuhome.com/tips/tips_00_007.shtml」を参照下さい
②「#!/usr/local/bin/perl」を「#!/usr/local/bin/perl --」にして確認する
システムのロケールをEUCにする。 ③「http://kajuhome.com/inst_after.shtml#n03」を実施し、サーバを再起動する。 この後、CGIが正しく表示されるか確認する。(この時のCGIは①のコード体系のスクリプトで実施してください。)
|