 |
設置の際によくはまるトラブルと対処だ! |
Home |
|
『えーん。』
『どした?』
『エラーばっか出るよぅ。落とし穴から出られないぃ。もがもが。』
『うひゃひゃ。どつぼにはまっとるのぅ。』
さー、みなさんはこのページを待っていたのではねぃでしょうか?おもしろそうな CGI を見つけた!ちょっと変えてみた!さぁ、アップロードだ!って意気込んだものの、なんでかエラーばかり。あれ?どうなってんの?(@_@)となってしまっていつまでたっても動かない。
ほぼ、はまる落とし穴はここに書いてあります。これを読めば落とし穴にはまる率もぐんと減るし、『わぁ!』ってはまっても
どつぼ には至らないはず!
■はじめてアップする人はこれをまず作ってみよう!
-
- 初めて設置するサーバーで CGI が動くかどうかも確実でないのに、いきなり複雑な CGI を載せてエラーが出ても、CGI
が間違ってるのかそのサーバーの設定が悪いのか原因がわけわかんないよね。じゃあ、原因を切り分けるためにもまずは簡単な CGI を作って走らせてみよー。下のサンプルなんか、いいんじゃない?(笑)
(注)下の1行目は設置するサーバーによって変わることがあるのでプロバイダーに確認してね。
#!/usr/local/bin/perl
print "Content-type: text/html\n\n";
print "<html><head><title>テストだ!</title></head>\n";
print "<body>うりゃぁぁぁぁ けんただ!!</body></html>\n" |
■ファイルの大文字・小文字はあってます?
-
- Mac や Windows はファイル名が例えば、『 Kenta.htm 』でも、『 KENTa.hTm
』でも同じと思ってくれる。けれど、UNIX さんは厳しくて、この2つのファイルは全くの別物と認識してしまう。きちんとあわせよう。CGI
に限らず、HTML でもこれは同じ。リンク先の GIF ファイル名がリンク指定のファイル名と大文字・小文字が違うだけで何でか表示されないってこと経験したことはないかい?
■ファイルのパーミッションはあってるかい?
-
- FTP ソフトでアップロードしたファイルは、おおかた『644』とかになっている。HTML や GIF
ファイルならこれで問題なく見れるんだけど、CGI はファイルに実行権がないと動いてくれない。詳しくは別のところで説明するけど、CGI
(拡張子が.cgi や .pl ) は『755』にしよう!
また、ログファイルなどは、『666』にしないと、掲示板などみんなが書き込めなくなっちゃうぞ!
■Perl のパスはあっている?
-
- これ間違うと、ぜーんぜん動かないよ。普通は、
| |
/usr/local/bin/perl |
か |
/usr/bin/perl |
-
- である。ここに、CGI を動かす、Perl というプログラムがある。でも、サーバーによっては違う場所にあるときなんかもある。そんな場合は、Telnet接続して、
-
- とコマンドを打つと、場所がわかるよ。
■ASCII モードでアップロードしてます?
-
- FTP ソフトでアップロードする時、CGI ファイルは HTML ファイルと同じく、ASCII
モードでアップしよう!もし、Binary モードでアップしていると、スクリプトがあっていても動かないです。はい。
■jcode.pl は持っていますか?
- 日本語の漢字コードは迷惑なことに、3種類あったりします。Shift-JIS 、 JIS 、 EUC
です。詳しくは『漢字コード』のページで説明しますけど、これらを変換するプログラムがサブルーチン化されてライブラリとして出回っています。これを使えば、毎回プログラムに書かなくても便利ですよね。それが、jcode.pl
です。掲示板などはこれを使っているのがほとんどです。これが用意されてないと、エラーがでます。
■同階層の相対パスの書き方を変えてみる
- なんだか、おいらは間違ってないのになぁって気にさせられるのがこれ。同じ階層のファイルを相対パスで指定するとき、たとえば
jcode.pl なんか、
-
- ってしてるのを
ってすると動いたりする。やっぱりなんだかなぁ。
|